Nuevo en Symfony 4.1: Validación de emails según HTML5
Symfony 4.1 se publicará a finales de mayo de 2018. Este es el primer artículo de la serie que muestra con ejemplos prácticos las principales novedades de esta versión.
Uno de los debates eternos entre programadores/as es cómo validar las direcciones de email. Por una parte hay quien piensa que los emails no se pueden validar completamente mediante código y que por eso hay que enviar siempre un mensaje de confirmación al usuario. Por otra parte hay quien argumenta que si se aplica la validación del estándar RFC 5322 ya es suficiente para cualquier aplicación real.
Symfony siempre ha hecho que esta decisión sea tuya mediante la opción strict
del validador de emails. Si esta opción vale false
, el email se valida
con una expresión regular simple. Si value true
, se usar la librería
egulias/email-validator para hacer una validación que cumpla el estándar.
En el primer caso, la expresión regular que se usaba era demasiado simple. Así
que en Symfony 4.1 hemos decidido empezar a utilizar la misma expresión regular
incluida en el validador de email de HTML5. En la práctica hemos declarado
la opción strict
obsoleta y hemos creado una nueva opción llamada mode
con
tres posibles valores:
loose
: usa la expresión regular simple que solo comprueba si el email incluye una arroba, etc. Es igual que el anteriorstrict = false
.strict
: hace la validación completa según el estándar y requiere la libreríaegulias/email-validator
. Es igual que el anteriorstrict = true
.html5
usa la misma expresión regular que el estándar HTML5.
Configurando la validación de emails en el framework
Cuando se usa el componente Validator dentro de una aplicación Symfony,
puedes configurar el modo de validación de emails mediante la nueva opción
email_validation_mode
:
# config/packages/framework.yaml framework: validation: # posibles valores: 'loose', 'strict', 'html5' email_validation_mode: 'html5'
Esta funcionalidad fue contribuida por Billie Thompson en el pull request #24442 y por Christian Flothmann en el pull request #25478.
Fuente: New in Symfony 4.1: HTML5 Email Validation
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.