Скажите, что у меня есть модель, аннотированная полями [Обязательные] и т. Д. В приложении MVC.Получает возможность использования ModelState.IsValid вне контроллера?
Он отлично работает в контроллере, чтобы просто вызвать ModelState.IsValid, но скажу, что я не в контроллере и хотел бы запускать подобные проверки в другом месте моего приложения на модели. Можно ли каким-то образом назвать эту функцию другим способом?
class MyModel{
[Required]
public string Name{get;set;}
}
// Code elsewhere in app that isn't the controller
MyModel model = new MyModel();
//Can I run a modelstate.isvalid type check here on model? Would return false if Name wasn't set
К сожалению, эта проверка не регрессирует через какие-либо сложные дочерние объекты или коллекции. Validator.TryValidateObject (...) просто выполняет немедленную проверку свойств и полей и называет это днем, в отличие от проверки, которая происходит при привязке модели в контроллере в мире MVC, которая пересекает весь граф объекта. – neumann1990