簡體   English   中英

validator.format 的 jQuery 驗證錯誤

[英]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");

正如他們在文檔中指定的那樣:

非常感謝任何幫助!

問題是我的方法,所以我現在這樣使用:

$.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語句,錯誤就消失了。 我通過在我的表單中添加一些驗證規則來進行測試,並且它們像往常一樣正常工作。 因此,這不是一個干凈的解決方案,而是擺脫了丑陋的錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM