MVC 3.0:为什么没有客户端验证消息?

时间:2011-09-19 08:55:22

标签: asp.net-mvc-3 validation

我有这样的模型

public class SampleModel{
   public int No{get;set;} 
}

并且在视图中我有一个自定义ValidationFor,它在该字段的输入框附近显示一个星号:

       @Html.EditorFor(model => model.No)
        @Html.ValidationMessageWithStarFor(model => model.No)

所以在渲染中我有一个“*”接近输入框,告诉该字段是必需的。它在服务器端正常工作,但在客户端不起作用。 尽管在web.confing中通过以下行启用ClientValidation:

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="false" />

...如何启用它?

2 个答案:

答案 0 :(得分:2)

除了jQuery之外,您可能忘记在页面中引用以下脚本:

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

答案 1 :(得分:0)

问题是由于以下代码:

 DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;

阻止数据注释验证不可为空的类型。