ASP.NET MVC 3数据验证不会触发

时间:2012-02-15 13:30:07

标签: asp.net-mvc-3

有没有人经历过不能使用MVC3的表单验证?

我的模型标有相关属性,例如:

public string MyClass{
  [Required]
  public string Name{get;set;}
}

该视图也作为适当的标记:

@Html.TextBoxFor(x=>x.Name)
@Html.ValidationMessageFor(x=>x.Name)

但是验证消息永远不会显示。我可以从生成的HTML中看到它已经放入了用于验证的span标记,但它们被标记为有效而不是错误。似乎没有调用模型上的验证。可能发生这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

您是否拥有View的必要验证JavaScript文件?

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

这些要么需要存在于View使用的布局中(如果它使用任何)或View本身。这些JavaScript / jQuery文件控制着客户端验证。

另外,在POST上的Action方法中,模型是否有效(由ModelState.IsValid布尔属性测试)?