【问题标题】:MVC unobtrusive validation with JQuery 1.9 not working使用 JQuery 1.9 的 MVC 不显眼验证不起作用
【发布时间】:2013-04-24 05:59:02
【问题描述】:

我已经完成了这篇文章中描述的所有步骤:

Unobtrusive Ajax stopped working after update jQuery to 1.9.0

还有这个:

jquery.unobtrusive-ajax plugin broken when updating to Jquery 1.9.0

但是,我仍然在 (jquery.validate.unobtrusive.js) 中的这一行收到 firebug 警告

 $jQval.unobtrusive.parse(document);

【问题讨论】:

  • 验证没有触发?

标签: jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

现在可以正常工作了。请让我知道这是否不正确,但从我所看到的情况来看,它工作正常。

jquery.validate.unobtrusive.js

第 209 行从此:

        var $forms = $(selector)
            .parents("form")
            .andSelf()
            .add($(selector).find("form"))
            .filter("form");

第 209 行至此:

        var $forms = $(selector)
            .parents("form")
            .addBack()
            .add($(selector).find("form"))
            .filter("form");

第 43 行:

replace = container.attr("data-valmsg-replace") && $.parseJSON(container.attr("data-valmsg-replace")) !== false;

第 73 行:

replace = container.attr("data-valmsg-replace") && $.parseJSON(container.attr("data-valmsg-replace"));

【讨论】:

    【解决方案2】:

    您的解决方案并没有错,您的解决方案确实有效,但我认为有关它的一些背景信息不会有什么坏处。

    请注意,导致警告的原因是 jQuery Migrate 插件。

    它是为了根据旧 jQuery 版本为代码提供向后兼容性。如果您不想收到有关已弃用功能以及如何将它们更新到当前标准的警告,您可以使用以下代码行禁用警告:

    jQuery.migrateMute = true;
    

    请注意,这些警告仅发生在 jQuery Migrate 的开发版本中,因此如果您切换到 jquery migrate (jquery-migrate-1.0.0.min.js) 的缩小版本,则甚至不需要此行。

    另外请注意,您使用的是 jquery 文件的开发版本,在生产环境中您应该使用缩小版本,因此您的修复也需要在 jquery.validate.unobtrusive.min.js 中实施。

    总而言之:

    • 如果您使用 jQuery Migrate 插件(您会这样做),则无需修复它。
    • 可以禁用该警告。
    • 该警告不会出现在生产环境中(如果使用了正确的脚本)。
    • Microsoft 有望在 jquery.validate.unobtrusive 的下一版本中修复它
    • 如果您确实修复了它,请确保您也在缩小版中修复它。
    • 修复它的唯一好处是您可以删除 jQuery Migrate 插件(我只建议您绝对确定您的应用程序中没有 javascript 取决于旧的 jQuery 功能)。

    【讨论】:

    • 问题是如果没有必要我不想使用迁移插件。谢谢
    • 比你的修复很好:)。只要确保你也在 jquery.validate.unobtrusive 的缩小版本中修复了这个问题。
    猜你喜欢
    • 2018-11-06
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    相关资源
    最近更新 更多