Busqueda local

Loading

martes, 22 de febrero de 2011

Custom Validation Rules

En MVC es posible agregar reglas de validación usando atributos a través de DataAnnotation, la cual nos ofrece mecanismos para personalizarlas o extenderlas. En un post previo
ya he explicado como implementar las reglas de validación usando DataAnnotation, en esta ocasión les explicare como crear uno personalizado.
Para crear una regla de validación, se requiere crear una clase que herede de ValidationAttribute, y es necesario sobrescribir el método IsValid, ya que es por medio de este que se lleva a cabo la validación.
Supongamos que tenemos un campo de una entidad, que debe recibir un carácter especial, el cual sirve como regla para el sistema. El campo solo puede recibir uno de los 5 valores autorizados, de lo contrario debería presentarse un mensaje de error, avisándole al usuario que la regla proporcionada no es válida.
Lo primero será crear una sub carpeta dentro de la carpeta del Model (esto para organizar nuestro código)
vr1
y creamos una clase llamada ReglaAttribute que herede de ValidationAttribute:
vr2
Una vez que hemos codificado la regla de validación, podemos decorar nuestra clase Buddy con nuestro nuevo atributo:
vr3
Cuando el controler reciba los datos y se lleve a cabo el automatic bindig de la información, el Model lleva a cabo la validación de los datos, usando estar reglas que aquí hemos establecido.
vr4
Si alguna de las reglas de validación no se cumpliera, el Modelstate del controler no sería válido y entonces entraríamos en el mecanismo explicado en el modelo de validación.
Es muy fácil y útil.

No hay comentarios:

Publicar un comentario