我有两个不同的视图属于两个不同的控制器。第一个控制器的视图与不引人注意的验证工作正常。第二个视图没有。似乎验证插件未运行,因为$.validator.unobtrusive
为undefined
。
在shared _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加载表单的不显眼验证。
我终于让它运转了,但它还不是永久性的解决方案。问题的根源是同一页面上的可编辑 Telerik MVC网格。它以某种方式删除/阻止$.validator.unobtrusive
在我的ajax加载中使用。
答案 0 :(得分:1)
我不知道这是否会有所作为,但你能否将每一行更改为以下内容?
<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>
这是一个非常小的变化,但@ Url.Contents()中的"
已更改为'
s。引号可能会在某个时候越过。