2010-06-08 64 views
0

添加驗證我的形式:jQuery的驗證 - 動態文本

jQuery.validator.addMethod('whatever', function(val, el) { 
// whatever goes here 
}, 'A maximum of ' + $('#my_id_here').val() + ' categories can be selected.'); 

這不飛。我總是不確定。這是一個很好,簡單的方法來做到這一點?

感謝

回答

1

事情是這樣的:

$(document).ready(function() 
{  

    jQuery.validator.addMethod("validateCountries", function(value, element) { 

        alert('s'); 

       return this.optional(element) || /^\d{3}-\d{3}-\d{4}$/.test(value); 
      }); 

    // add the validation rule 
    $("#form1").validate();  

    $("#lbCountries").rules("add", { validateCountries:true }); 

}); 

裏面的Add方法,您可以執行您的驗證!

更新1:

動態文本,你將失去顯示錯誤消息。以下是解決該問題的一種方法:

// add the validation rule 
    $("#form1").validate( 

    { 
     messages: { lbCountries: "please specify the countries" } 
    } 

    ); 

lbCountries是一個ListBox控件。

更新2:

您可以將與規則其他規則的屬性,如下圖所示:

$("#lbCountries").rules("add", { validateCountries:true, noOfSelectedItems:3 }); 

現在,您可以檢查規則,當事件被觸發:

$("#lbCountries").rules().noOfSelectedItems; // this will return 3 
+0

但是如果我有一個複選框列表,並且我想確保只有4個被選中,但是該值不能被硬編碼?我需要一種方法使它有時會說「只能選擇複選框。」。 – JamesB41 2010-06-08 20:40:34

+0

您可以通過在複選框上只有= 4自定義屬性來做一個黑客(不好)。現在,當您訪問複選框列表時,您可以找出需要設置多少個複選框,並且您可以驗證該複選框! – azamsharp 2010-06-08 20:44:09

+0

驗證本身不是問題,我可以使用隱藏的。我遇到麻煩的具體部分是讓*信息*本身爲我正在尋找的編號量身定製。 – JamesB41 2010-06-08 20:46:16