Tengo una clase auxiliar que se pasa una matriz de valores que luego se pasa a una nueva clase de mi modelo. ¿Cómo verifico que todos los valores dados a esta clase son válidos? En otras palabras, ¿cómo uso la funcionalidad de ModelState dentro de una clase sin controlador?Compruebe si el modelo es válido fuera del controlador
Desde el controlador:
public ActionResult PassData()
{
Customer customer = new Customer();
string[] data = Monkey.RetrieveData();
bool isvalid = ModelHelper.CreateCustomer(data, out customer);
}
Desde el ayudante:
public bool CreateCustomer(string[] data)
{
Customter outCustomer = new Customer();
//put the data in the outCustomer var
//??? Check that it's valid
}
Desafortunadamente, esta validación no se repite a través de ningún objeto secundario o colecciones complejas. El Validator.TryValidateObject (...) solo hace validaciones de propiedad y campo inmediatas, y lo llama un día, en oposición a la validación que ocurre en el enlace del modelo en el controlador en el mundo MVC que atraviesa todo el gráfico del objeto. – neumann1990