2014-02-05 54 views
-1

我正在使用jquery驗證器進行驗證。我正在嘗試爲類添加自定義規則。在這裏,我想用正則表達式來匹配這個類。但它不起作用。與自定義驗證規則的正則表達式相匹配的類

樣品:

$.validator.addMethod(
    "cMin", 
    $.validator.methods.min, 
    "* lower than min value" 
); 

jQuery.validator.addClassRules('(min\[)\d+(\.\d+)?\]', { // here I am trying to check the class name with regex 
    cMin: 10 
}); 

有沒有辦法做到這一點?

回答

0

我不知道你的正則表達式做的方式,但使用jquery each

演示JSFIDDLE Particular class validation

試試這個,

$('input').each(function(){ 
    if($(this).attr("class") == "test"){ // here try to check the class name with regex 
jQuery.validator.addClassRules($(this).attr("class"),{ 

      required: true, 
      maxlength: 10 
     }); 
    } 
}); 

我希望這將幫助你..

+0

-1在演示中使用'submit()'處理函數。也許你不知道這個插件內置了一組完美的[回調函數](http://jqueryvalidation.org/validate/)。當你可以簡單地定位適當的類時,也不需要在你的'.each()'裏面進行條件檢查。請參閱:http://jsfiddle.net/mDRpN/1/ – Sparky

+0

'addClassRules'用於創建可以通過類名應用的複合規則。既然你使用'.test'把所有的字段都包含在'.each()'中,你可能只需要使用'.rules('add')'方法。 http://jsfiddle.net/mDRpN/2/ – Sparky

+0

@Sparky我對驗證插件並不熟悉。但** raisul **的問題是用正則表達式匹配類,如果匹配的類應該是有效的。請看這個鏈接http://jsfiddle.net/dhana36/GrhBr/203/ – dhana