簡體   English   中英

Jquery驗證插件規則方法不起作用

[英]Jquery Validate plugin rules method not working

我有一個asp.net表單,我試圖使用Jquery Validation插件。 我試圖使用rules方法使用javascript添加rules 所以我試過這樣的事情

$('#btnSave').on('click', function () {
    $("#txtAmount").rules("add", {
        required: true,
        minlength: 2,
        messages: {
            required: "Required input",
            minlength: jQuery.format("Please, at least {0} characters are necessary")
        }
    });
    $('form').validate({
        submitHandler: function (form) {
            form.submit();
        }
    });
});

我已經設置了ClientIDMode="Static"以便我可以直接使用contorl ID。 但是,這不起作用。 誰能告訴我問題出在哪里? 我似乎無法將手指放在上面。

這是一個JsFiddle

是的,作為公認的答案解釋,你必須調用.validate()調用之前(初始化) .rules()方法。

然而:

1)因為.validate()只是初始化方法(只調用一次 ),所以不需要將它包裝在click處理程序中。 該插件已經自動捕獲click事件。

2)在這個例子情況下,沒有必要對submitHandler只包含一個form.submit()內,因為這已經是默認行為submitHandler 完全退出submitHandler將產生相同的結果。 雖然,如果您需要在提交時使用ajax或執行其他一些代碼,那么請submitHandler使用submitHandler

$(document).ready(function() {

    $('form').validate({
        // other rules and options
    });

    $("#id1").rules("add", {
        required: true,
        minlength: 2,
        messages: {
            required: "Required input"
        }
    });

});

演示: http//jsfiddle.net/85KR4/5/ (成功提交的常規表單操作)

演示2: http//jsfiddle.net/85KR4/7/ (ajax呼吁成功提交)

除了訂單,一切都是正確的。 首先,您應該調用validate ,之后您可以調用rules

http://jsfiddle.net/85KR4/3/

暫無
暫無

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

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