Ho una classe helper che passa una matrice di valori che viene quindi passata a una nuova classe dal mio modello. Come posso verificare che tutti i valori dati a questa classe siano validi? In altre parole, come utilizzare la funzionalità di ModelState in una classe non controller.Verificare se il modello è valido all'esterno del controller
Dal controller:
public ActionResult PassData()
{
Customer customer = new Customer();
string[] data = Monkey.RetrieveData();
bool isvalid = ModelHelper.CreateCustomer(data, out customer);
}
Dal aiutante:
public bool CreateCustomer(string[] data)
{
Customter outCustomer = new Customer();
//put the data in the outCustomer var
//??? Check that it's valid
}
Sfortunatamente, questa convalida non viene inoltrata attraverso oggetti o raccolte figlio complessi. Validator.TryValidateObject (...) esegue solo convalide di proprietà e campi immediate e le chiama un giorno, a differenza della convalida che avviene sul binding del modello nel controller nel mondo MVC che attraversa l'intero grafico dell'oggetto. – neumann1990