我有这样的模型
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" />
...如何启用它?
答案 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;
阻止数据注释验证不可为空的类型。