【发布时间】:2012-05-07 23:02:55
【问题描述】:
我有两个不同的视图属于两个不同的控制器。第一个控制器的视图可以通过不显眼的验证正常工作。第二种观点没有。似乎验证插件没有运行,因为$.validator.unobtrusive 是undefined。
在共享的 _layout 文件中,我有以下脚本标签:
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.19.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.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
那么为什么第二个视图不能使用不显眼的验证?
更新
在这两种情况下,我都是通过 Ajax 调用加载表单。我已经验证了验证失败的主页可以支持对非 ajax 加载的表单进行不显眼的验证。
更新2
我终于让它工作了,但它还不是永久修复。问题的根源是同一页面上的可编辑 Telerik MVC Grid。它以某种方式删除/防止 $.validator.unobtrusive 在我的 ajax 加载中使用。
【问题讨论】:
标签: jquery asp.net-mvc jquery-validate telerik-mvc unobtrusive-validation