Campos de Formulario
Los fields son las preguntas que un form hace. Cada field tiene un tipo, un nombre (interno), una label (visible), reglas de validación y una condición opcional de visible-cuando. La pantalla del builder (Forms → edit → Fields) permite crear, reordenar, editar y eliminar fields; los nombres de los fields son únicos dentro de un form.
Tipos de field
La paleta cubre:
- Text, textarea: texto libre (los fields de contacto habituales).
- Email, tel : fields de una sola línea con validación de formato.
- Select / dropdown, radio buttons, checkbox list: fields basados en opciones; tú proves las opciones, una por línea. Los fields controladores de tipo checkbox pueden manejar la visualización condicional de otros fields.
- Single checkbox y consent checkbox : un solo opt-in. El tipo consent está pensado para líneas de aceptación de políticas.
- Address: un compuesto estructurado (línea 1/línea 2, ciudad, estado, código postal, país) que se recoge y almacena como una unidad.
- File upload : ver abajo.
- Number, date: validados numérica y regionalmente según tu patrón.
Validación
- Required : se aplica del lado del servidor; los fields ocultos condicionalmente se omiten (un field oculto porque su condición controladora no se cumple nunca se exige).
- Reglas de longitud / valor / patrón: longitud mínima y máxima por field, valores numéricos o de fecha mínimos/máximos, y un formato de expresión regular (error "does not match the required format" en caso contrario).
- Los nombres siguen una sola regla: letras minúsculas, números y guiones bajos (son los machine names que se replican en webhooks, emails y exportaciones CSV).
Comportamiento de edición
- Re-renderizar después de un error de validación mantiene las respuestas del visitador llenas, incluso a través de grupos de checkboxes.
- Los forms se pre-llenan desde parámetros de query de la URL en la primera carga (por ejemplo, linkear al form con
?email=…llena el field de email para los fields nombrados) : útil para links de campaña personalizados. - Las ediciones de fields se guardan como parte del form; el historial de un field va junto con el contador de versiones del form: eliminar un field solo afecta las submissions futuras, no las almacenadas (que hacen snapshot de las respuestas como datos al momento del envío).
File uploads
- Los uploads se verifican por tipo de contenido real (magic bytes), no por extensión; la extensión del nombre de archivo almacenado siempre coincide con el tipo de contenido.
- SVG deliberadamente no se acepta por seguridad (puede llevar contenido activo).
- Cada form tiene un ajuste de cuota total de upload; los uploads deben por tanto caber en la cuota del form.
- Los uploads se almacenan en el servidor del CMS. Si los archivos subidos son accesibles públicamente o solo para admins es un switch por form (prv accesible por internet o descarga solo para admins). Eliminar una submission elimina también sus archivos subidos.
Visualización condicional
Cualquier field puede configurarse para mostrarse solo cuando otro field lleva un valor particular : por ejemplo, un field "Company name" que aparece solo cuando "Organization = yes" está marcado. El field controlador puede ser cualquier tipo de field, incluido un checkbox; los valores coincidentes para controladores de tipo checkbox-list se comparan después de hacer click. Los fields ocultos por condición no se validan al enviar, ya que nunca se mostraron.