Tenía un código similar a éste en un controlador:

if (ModelState.IsValid)
{
   //…algo
}
else
{
   //…otra cosa
   return View(cefuVM);
}

Cada vez que se ejecutaba ese código, mi “ModelState.IsValid” era falso y se iba a la parte del “else”, sin marcar ningún error aparentemente.

Para ver qué está pasando, añade esta línea de código en la parte del “else”.

if (ModelState.IsValid)
{
   //…algo
}
else
{
   var errors = ModelState.Select(x => x.Value.Errors)
   .Where(y => y.Count > 0)
   .ToList();
   //…otra cosa
   return View(cefuVM);
}

Coloca un “break” en Visual Studio y corre en modo “debug”. Analiza la variable “errors” en la ventanita “Locals” y verás algo similar a lo siguiente:

locals

Como puedes ver, ahí aparece el error que yo mismo programé en la validación de mi “ViewModel”.

Referencia.

Otro artículo relacionado.

Un comentario sobre “Encuentra por qué tu ModelState.IsValid está marcando falso

Deja una respuesta

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


cinco + = 8