Saltar al contenido

ModelState.AddModelError – ¿Cómo puedo agregar un error que no sea para una propiedad?

Solución:

Finalmente me encontré con un ejemplo del uso que estaba buscando: asignar un error al modelo en general, en lugar de una de sus propiedades, como de costumbre se llama:

ModelState.AddModelError(string key, string errorMessage);

pero usa una cadena vacía para la clave:

ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");

El mensaje de error se presentará en el <%: Html.ValidationSummary() %> como era de esperar.

Puede agregar el error del modelo en cualquier propiedad de su modelo, sugiero que si no hay nada relacionado con la creación de una nueva propiedad.

Como ejemplo, verificamos si el correo electrónico ya está en uso en DB y agregamos el error a la propiedad Correo electrónico en la acción para que cuando devuelva la vista, sepan que hay un error y cómo mostrarlo usando

<%: Html.ValidationSummary(true)%>
<%: Html.ValidationMessageFor(model => model.Email) %>

y

ModelState.AddModelError("Email", Resources.EmailInUse);

Poner la propiedad de punto del modelo en cadenas funcionó para mí: ModelState.AddModelError("Item1.Month", "This is not a valid date");

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *