【问题标题】:Unobtrusive validation works on one controller but not another不显眼的验证适用于一个控制器,但不适用于另一个控制器
【发布时间】:2012-05-07 23:02:55
【问题描述】:

我有两个不同的视图属于两个不同的控制器。第一个控制器的视图可以通过不显眼的验证正常工作。第二种观点没有。似乎验证插件没有运行,因为$.validator.unobtrusiveundefined

在共享的 _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


    【解决方案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 已更改为's。引号可能会在某些时候被交叉。

    【讨论】:

    • 我使用了您的建议,但将单引号换成了外部,因为我想在内部使用双引号作为 .net 字符串。问题依旧
    • 你看过这个类似问题的答案了吗? stackoverflow.com/questions/9321040/…
    • 这对我没有帮助,因为 $.validator.unobtrusive 未定义
    • 我相信我可能需要查看更多代码来进一步提供帮助,但我确实在这里找到了另一个讨论未定义问题的帖子:stackoverflow.com/questions/6103160/… ...希望对您有所帮助!
    • 是的,我以前看过。该函数的源代码中的第一件事是$.validator.unobtrusive.parse(selector);,所以我认为这不会起作用。
    猜你喜欢
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多