【问题标题】:jQuery validation error for validator.formatvalidator.format 的 jQuery 验证错误
【发布时间】:2015-03-18 09:11:09
【问题描述】:

有人能解决这个错误吗?与 jquery 验证 1.13.1 和 jquery 1.11.1 一起使用:

  uncaught exception: $.format has been deprecated. Please use $.validator.format instead.

每当我禁用我拥有的任何验证表单时,它仍然会显示错误,所以它基本上是验证文件代码上的东西,不是吗?不在我这样使用它的表单验证文件中:

    $("#free_validation").add("#validation-form").validate({
        ignore:'',
        rules: {
            title:{
                required: true,
                minlength: 2,
                alphanumericwithpunc: true
            }
        },
        messages: {
            title: {
                required: "Escriba el titulo",
                minlength: "Al menos 2 caracteres",
                alphanumericwithpunc: "Sólo alfanumérico"
            }
        }
    });

而我的方法是:

$.validator.addMethod("alphanumericwithpunc", function(value, element) {
    return this.optional(element) || /^[\wàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð,;.:'\\\_\-\¿?¡!&%$€#()\s]+$/i.test(value);
}, "Letters, numbers, and basic punctuation only please");

正如他们在documentation 中指定的那样:

非常感谢任何帮助!

问题是我的方法,所以我现在这样使用:

$.validator.addMethod("alphanumericwithpunc", function(value, element) {
        return this.optional(element) || /^[\wàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð,;.:'\\\_\-\¿?¡!&%$€#()\s]+$/i.test(value);
    }, jQuery.validator.format("Please enter the correct value"));

【问题讨论】:

  • 您忽略了包含alphanumericwithpunc 的代码,我猜这就是问题所在。如果我摆脱那一点,我看不出任何问题。请参阅我的示例here
  • 天哪,你说得对。谢谢@Ryley

标签: jquery validation jquery-ui


【解决方案1】:

使用新格式,例如,

messages: {
            title: {
                required: "Escriba el titulo",
                minlength: jQuery.validator.format("Al menos 2 caracteres"),
                alphanumericwithpunc: jQuery.validator.format("Sólo alfanumérico")
            }
        }

【讨论】:

  • 我知道你是从github.com/properapp/jquery-validation/issues/3 那里得到的,但正如我之前所说,即使我没有设置表单验证代码,也会出现错误,这是否考虑到这是一个错误的可能性?
  • 现在必须回来,@Ryley 的评论给了我一个方法,但将你的评论标记为答案,因为是正确的。
【解决方案2】:

我知道这可能现在已经解决了,但我想分享我的问题版本以及我是如何解决的。请注意这并不能直接解决核心问题,而只是说明如何阻止该错误消息出现

我遇到了同样的问题 - 只是在我的项目中包含了以下两个库(已经包含了 jQuery)

  1. jquery.validate.js
  2. additional-methods.js(原始验证库上的一些插件)

然后我们开始,控制台上弹出错误。

我做了一些研究,发现引发错误的代码存在于文件 jquery.validate.js 的第 1313 行,看起来像:

$.format = function deprecated() {
  throw "$.format has been deprecated. Please use $.validator.format instead.";
};

我注释掉了 throw 语句并且错误消失了。我通过在我的表单中添加一些验证规则进行了测试,它们仍然像往常一样工作得很好。因此,这不是一个干净的解决方案,而是摆脱了丑陋的错误消息。

【讨论】:

    猜你喜欢
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多