ho annidato ViewModels come questi due:ModelState non validare modelli annidati dopo la modifica controller
public class FirstViewModel
{
public SecondViewModel SecondViewModel { get; set; }
}
public class SecondViewModel
{
[Range(1, 12)]
public int month { get; set; }
}
Se metto month = 13;
e quindi chiamare ModelState.IsValid
(nel controllore) la validazione è sempre true
.
Edit:
Questo è il controller:
public ActionResult Create()
{
return PartialView(new FirstViewModel);
}
public HttpStatusCodeResult Create (FirstViewModel viewModel){
viewModel.SecondViewModel = new SecondViewModel();
viewModel.SecondViewModel.month = 13;
if (ModelState.IsValid)
{
return new HttpStatusCodeResult(200);
}
else
{
return new HttpStatusCodeResult(304);
}
}
sto facendo astrazione del problema, quelle non sono le variabili reali.
Vuoi mostrarci il tuo controller ** GET ** e ** Post ** metodo? –
Qualsiasi aggiornamento ci aiuterà a trovare una soluzione. Mostraci il tuo modello e ModelState quando non hai impostato il mese. –
Non esiste ** Convalida ** Proprietà su ** ModelState **. Come compilate il vostro progetto? Dovresti avere qualche errore. –