jQuery validator.format 的验证错误

jQuery validation error for validator.format

有人能解决这个错误吗?使用 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"));

使用新格式,例如,

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

我知道这可能现在已经解决了,但我想分享我对这个问题的看法以及我是如何解决它的。请注意这并没有直接解决核心问题,只是展示了如何阻止该错误消息的出现

我遇到了完全相同的问题 - 只是将以下两个库包含到我的项目中(已经包含 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 语句,错误消失了。我通过在我的表单中添加一些验证规则来进行测试,它们像往常一样工作得很好。所以,这不是一个干净的解决方案,但摆脱了丑陋的错误消息。