在我的布局页面中,我有以下指向验证Javascript文件的链接,
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"type="text/javascript"></script>
我的实体使用验证属性(如
)进行修饰[Required(ErrorMessage ="Please enter a customer name")]
public string CustomerName { get; set; }
然后在我看来,我在更新字段之后指定了验证消息,如此
<div class="label-for">@Html.LabelFor(model => model.CustomerName)</div>
<div class="editor">@Html.EditorFor(model => model.CustomerName)</div>
@Html.ValidationMessageFor(model => model.CustomerName)
验证正在运行但不是在客户端,我理解的方式是当其中一个字段留空而无需标记到另一个字段时,应显示错误消息,是否还需要其他任何东西来获取客户端验证工作?
答案 0 :(得分:0)
可能是这项工作:确保在您的web.config文件中,将“ClientValidationEnabled”设置为“True”
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
</appSettings>
注意:在MVC3 Web项目中,有两个web.config文件,一个位于“View”文件夹下,另一个位于根Web项目下。确保根中的那个不会覆盖另一个。
答案 1 :(得分:0)
IIRC jquery
和jquery.validate
版本之间存在一些不兼容性。您似乎使用旧版本的jquery 1.4.4。尝试使用最新的更新。例如,安装ASP.NET MVC 3 Tools Update并在Visual Studio中创建一个新的ASP.NET MVC项目,它将为您提供以下脚本的正确版本:jquery,jquery.validate和jquery.validate.unobtrusive。
答案 2 :(得分:-2)
jQuery验证与您的验证机制无关。也许Microsoft.Ajax.Validation应该是负责任的。但是要使用jquery.validation,你应该编写代码。就这样。它不会开箱即用。