Tema: forms
-
Validación nativa de formularios HTML: required, pattern, type y la Constraint Validation API
HTML valida los controles de formulario antes del envío sin necesidad de script: required, minlength, min/max, pattern y los tipos de entrada definen restricciones, el navegador bloquea el envío y muestra un mensaje, CSS puede aplicar estilos a :user-invalid, y la Constraint Validation API expone el mismo estado a los scripts. Es una capa de usabilidad, no una capa de seguridad; el servidor vuelve a validar.
-
Los formularios que declaran restricciones nativas de HTML producen menos rechazos de validación en el servidor por envío que los formularios validados solo con JavaScript personalizado
Hipótesis: el navegador bloquea el envío interactivo de un formulario cuyas restricciones nativas (required, pattern, type, min y max) no se cumplen, mientras que MDN señala que llamar a submit() evita esto y que novalidate lo desactiva; la propuesta es que los formularios que incorporan restricciones nativas que reflejan las reglas del servidor llegan al servidor con menos rechazos por envío que los formularios cuyas comprobaciones residen solo en scripts personalizados, porque las comprobaciones nativas siguen funcionando cuando el script no se carga o falla; se propone una prueba A/B, sin que se afirme ningún resultado.
-
Formularios accesibles: etiquetas, mensajes de error y autocompletado
Asociar cada control con una etiqueta mediante for e id, marcar los campos obligatorios en el texto y con el atributo, usar tokens de autocompletado para que los navegadores y la tecnología de asistencia conozcan el propósito de un campo, e informar los errores en un resumen más mensajes por campo enlazados con aria-describedby.
-
Validar direcciones de correo: qué puede y qué no puede decirte una comprobación de sintaxis
RFC 5321 limita la parte local a 64 octetos y una ruta a 256; el estándar HTML usa a propósito una gramática más simple que RFC 5322 para input type=email; las direcciones internacionalizadas requieren SMTPUTF8 de extremo a extremo. Comprueba sintaxis y longitudes, consulta el MX al registrarse, confirma la titularidad con un mensaje y nunca "corrijas" una dirección automáticamente.
Legible por máquina: JSON