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:
Como puedes ver, ahí aparece el error que yo mismo programé en la validación de mi “ViewModel”.
Muchas gracias ! Pude encontrar el error en mi aplicación.