【发布时间】:2012-02-09 19:43:03
【问题描述】:
我有一个 UserFormModel ,其中包含一个 UserModel ,它具有一组带有 [Required] 属性集的属性。我已经读过 MVC 3 开箱即用将默认验证模型中的模型。但是,当我在视图中提交一个空表单时,返回一个包含空 UserModel 的 UserFormModel,ModelState.IsValid 始终为 true。
我尝试只将 UserModel 发送回我的控制器,并且验证正常。似乎只是在我处理复杂模型时它无法验证。
我还尝试使用 UserFormModel 中 User 属性的 [Required] 属性(我认为默认行为不需要该属性),但仍然没有进行验证。
对此的任何想法将不胜感激。
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
}
}
【问题讨论】:
-
您能发表一下您的看法吗?
标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-validation