Teniendo esto en cuenta, sabremos entonces que se cometerán muchos errores, llenaran campos con información incorrecta en formato, tal vez dejaran campos en blanco que nos interesa que llenen, etc. Para esto debemos definir los errores personalizados que es con lo que le indicaremos al usuario por qué no puede continuar la aplicación con sus peticiones y dándole una ayuda de qué y cómo debe llenarse.
Mensajes Personalizados
Un mensaje personalizado nos permite indicar que va a comunicar la aplicación cuando ocurre un error en un campo específico del modelo, ya que no es igual mostrar un error sin mensaje y esperar que el usuario sepa que falló, para ello vamos a ver el siguiente código:
[Required] [StringLength(50, ErrorMessage = "El titulo no debe ser mayor a 50 caracteres")] public string Titulo { get; set; } [Range(1, 10000, ErrorMessage = "El precio inicial debe ser al menos 1")] public decimal PrecioInicio { get; set; }
Vemos que pudimos colocar un mensaje para cuando nuestro campo excede la longitud especificada y también cuando colocamos un rango, ya que en este último caso el usuario necesita una guía de que debe colocar.
Mostrar los Errores
Una vez que ya hemos definido los errores y sus diferentes mensajes debemos preparar a nuestra vista para que los muestre al momento de ocurrir, para lograr esto nos valdremos del lenguaje Razor y su fácil acceso a las propiedades de nuestros modelos, veamos en la siguiente imagen como preparar un campo para ser mostrado al usuario y que reciba el error en caso de existir:
En la imagen vemos cómo podemos imprimir nuestro campo en la vista, ahora veremos como agregarle el error personalizado que creamos:
Vemos que es muy sencillo, utilizamos el método ValidationMessageFor y como parámetro le pasamos nuestro modelo y la propiedad de la cual vamos a registrar el error; este proceso lo repetimos con cada campo que tengamos en nuestra vista.
Veamos en la siguiente imagen como le pasamos un mensaje con un “*” este mensaje se utiliza mucho para denotar que no se acepta un campo vacío o también cuando el mensaje completo se muestra en un tooltip, así no sobrecargamos la vista de texto:
Resulta muy sencillo aplicar todo esto en nuestros programas, con ello obtendremos una aplicación más amigable al usuario y muy robusta, ya que cada validación que hagamos es un punto menos de quiebre.