Hacer que el esquema de un formulario mande con el modo estricto
El modo estricto está desactivado de forma predeterminada, así que el esquema guía la generación en lugar de juzgar las respuestas. Actívalo por formulario y un campo no declarado pasa a ser un rechazo, con los campos de archivo mandando en ambos casos.
Esta publicación se tradujo automáticamente. Lee el original en inglés

El modo estricto es un interruptor de un formulario, y viene desactivado cuando el formulario se crea. No es un descuido: casi todos los formularios empiezan así, porque un formulario que nunca ha recibido un envío todavía no conoce su propia forma. Lo que cambia el interruptor es para quién es el esquema.
Qué cambia al activarlo
Con el modo estricto desactivado, el esquema guía la generación. Decide qué campos muestra la vista previa del constructor y qué dibuja el componente generado, y es contra él que FormFlow aprende cuando ofrece adoptar un campo que ha visto llegar. Pero no juzga las respuestas. Una clave de más no es un incumplimiento: llega como respuesta.
Con el modo estricto activo, el esquema se convierte en el contrato en ambas direcciones. Un campo declarado que no llega, o que no cumple sus reglas, se rechaza. Una clave no declarada que sí llega también se rechaza: la misma puerta, el mismo error con la clave del campo y un mensaje que dice que el campo no estaba declarado. Esa simetría es justamente el punto: un formulario estricto no puede acumular en silencio respuestas que nunca pidió. El modo estricto llegó con la v1.0.0, y la referencia de la API describe el rechazo que devuelve.
Las reglas de campo vienen de un vocabulario cerrado
El modo estricto es además el único modo en el que se aplican las reglas de campo. Una regla de campo es una restricción extra sobre un campo, más allá de lo que su tipo ya implica, y se elige de una lista que FormFlow ofrece y limita a ese tipo. Eliges de la lista; nunca escribes una regla. Un formulario no puede pedirle a FormFlow que ejecute una comprobación que FormFlow no escribió.
Tipo de campo | Reglas que puedes elegir | Límites |
|---|---|---|
Texto | Solo letras; Letras y números; Letras, números, guiones y guiones bajos; Solo ASCII simple; Minúsculas; Mayúsculas; Un UUID; Un ULID; Una dirección IP; Una dirección MAC; Un color hexadecimal | longitud mínima y máxima |
Área de texto | Solo ASCII simple; JSON válido | longitud mínima y máxima |
Número | Un número entero | valor mínimo y máximo |
Correo, Teléfono | ninguna | longitud mínima y máxima |
Selección, Opción única | ninguna | ninguno |
Dos cosas sobre esa tabla. Un límite es un número entero, de hasta seis dígitos. Y un tipo con lista de opciones no admite reglas en absoluto: su lista de opciones ya es la restricción, y el modo estricto juzga cada respuesta contra ella.
Donde el modo estricto no lo eliges tú
Un campo de archivo declarado manda en todos los formularios, esté el modo estricto activo o no. Se juzga por tipo, tamaño y número cada vez, y rechaza de forma dura. Es deliberado: una subida son bytes en disco, así que no puede quedar a merced de un ajuste que viene desactivado. La otra excepción es un formulario calificado: un formulario con clave de respuestas está siempre en modo estricto y solo puede ser una página alojada, porque el marcado incrustado no puede exponerlo ni calificarlo con justicia.
Decide con pruebas, no con nervios
Antes de activarlo, reproduce la configuración candidata contra el historial del propio formulario. FormFlow conserva tanto los envíos que el formulario aceptó como los envíos rechazados que descartó, así que la reproducción puede mostrar lo que costaría el cambio antes de que alguien lo pague. Esa es la razón de que el modo estricto pueda activarse tarde, cuando el formulario ya tiene tráfico.
La otra razón para estar tranquilo: un rechazo no es una pérdida invisible. Un envío rechazado se guarda como un registro sobre el que puedes actuar, no se entrega, no se convierte en envío contabilizado y puede recuperarse en cuanto se corrige el ajuste. El modo estricto sube las apuestas de acertar con el esquema; no convierte un error en permanente.
Límites que conviene conocer
Desactivado por omisión. Si no recuerdas haberlo activado, está desactivado.
Solo juzga las respuestas. La lista de orígenes permitidos y la forma de la solicitud se juzgan en todos los formularios, con modo estricto o sin él.
Los campos de archivo declarados se juzgan en ambos casos, así que una prueba en modo estricto que pasa sin subir nada no demuestra nada sobre el archivo.
Las reglas de campo se aplican solo en modo estricto. Sacar un formulario del modo estricto deja de aplicar en silencio cada regla que elegiste para él.
Un formulario calificado no puede salir del modo estricto ni incrustarse, así que planifica su esquema antes de que reciba su primer envío.