У меня есть UserFormModel, который содержит UserModel, который имеет набор свойств с установленным атрибутом [Обязательный]. Я прочитал, что MVC 3 из коробки будет проверять модели в моделях по умолчанию. Однако, когда я отправляю пустую форму в своем представлении, возвращая UserFormModel, содержащий пустой UserModel, ModelState.IsValid всегда прав.Проверка MVC 3 не работает для сложной модели
Я попытался отправить только UserModel обратно на свой контроллер, и это подтвердит правильность. Кажется, что я работаю со сложными моделями, которые он не проверяет.
Я также попробовал его с атрибутом [Обязательный] в свойстве User в UserFormModel (который, как мне кажется, не требуется для работы по умолчанию), но все еще не выполняется валидация.
Любые идеи по этому вопросу будут высоко оценены.
public class UserFormModel
{
public UserModel User;
public IEnumerable<SelectListItem> Roles { get; set; }
}
public class UserModel : ModelBase
{
[Required]
public string UserName { get; set; }
public string Title { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
[HttpPost]
public ActionResult Create(UserFormModel userFormModel)
{
if (ModelState.IsValid)
{
// Do Something
}
}
Можете ли вы опубликовать, как выглядит ваше мнение? – nemesv