簡體   English   中英

如何使用jQuery.validator占位符來自定義錯誤消息?

[英]How to customize error message using jQuery.validator placeholders?

我正在嘗試添加自定義表單驗證器。 而且我遇到了消息自定義問題。

假設我要檢查字段值是否未超過最大允許值。 我知道“驗證插件”已經具有“最大”驗證器-這僅用於示例:

$.validator.addMethod("max-numeric", function(value, element, param) {
    var maxValue = $(element).attr("data-max");
    return (!maxValue) || maxValue >= value;
}, $.validator.format('Applicants must be older than {0} and younger than {1} years of age'));

$("#data-form").validate({
    rules: {
        "form.params1.p4":
        {
            "min-numeric": [5, 6]
        }
    }
});

我無法理解是什么負責替換$ .validator.format中的{0}和{1}。 以及如何傳遞這些參數?

更新:

這是我收到的消息:

申請人必須大於真實年齡且小於[object HTMLInputElement]歲

我無法理解是什么負責替換'$.validator.format' {0}{1} 以及如何傳遞這些參數?

在上面的示例中, {0}代表第一個參數, {1}代表第二個參數。 參數分別為[5, 6] ,消息中的此類自動替換由插件自動處理。

因此,編寫自定義方法時,您不需要做任何特別的事情。 如果您將三個參數傳遞給方法...

customMethod: [34, 50, 10]

...那么您將獲得{0}{1}{2}的自定義消息,分別代表參數的每個值。

它只是工作。


如果出了什么問題,除了以下幾點,從您的OP中看不出來:

該方法稱為max-numeric ,但是您要在.validate()方法的rules對象中引用min-numeric

只要在max-numeric旁邊有兩個參數,您的示例就可以工作。

max-numeric: [5, 6]

暫無
暫無

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

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