Cuidado con el uso de [EmailAddress] y [Url] para validar

En el blog de VariableNotFound, el autor nos advierte de no confiarnos en la validación con los atributos [EmailAddress] y [Url].

Desde la versión 4.7.2 del .NET Framework y en .NET Core, estos atributos prácticamente dejan de validar en base a los RFC de los emails o urls, para proceder a "evitar errores de tipeo".

Así pues, desde .NET 4.7.2 y en .NET Core, el comportamiento estándar es:

  • [EmailAddress] dará por válido cualquier valor que sea nulo o contenga un único carácter arroba "@" en una posición que no sea la primera ni la última. Eso es todo :-/ Por ejemplo, la validación podrá ser superada por valores como "hola@hola" o "_@!".

  • [Url] considerará correctos los valores que sean nulos o simplemente comiencen por "http://", "https://" o "ftp://". Por ejemplo, serán valores válidos "https://esto no es una url" o simplemente "http://".

Esto lo deberemos tener en cuenta, en caso confiemos la validación a estos atributos. Ahora debemos implementar por nuestra cuenta esas validaciones.

Comentarios