2014-09-03 60 views
-1

我正在嘗試使用jQuery驗證插件addMethod驗證類似驗證條件的多個字段。根據另一個下拉選擇,這些字段是必需的。 如何在addMethod中使用required:true屬性?如何在jQuery Validate插件中使用addMethod中所需的內容?

我能想到的是JS代碼來檢查字段是否爲空。但我想要一個更清潔的方式。

下面的代碼:

HTML:

<td> 
<input type="text" name="examname1" id="en1" maxlength="8" size="8" disabled="disabled" onkeypress="return isAlphaKey(event)" /> 
</td> 

的jQuery:

//common validation method for education details in first row 
jQuery.validator.addMethod ("prox_education1", function (value, element) { 
     if ($("#education").val() >= 1) 
     { 
      ????? 
     } 
}, "This field is required"); 

我如何做,如果條件爲真需要的領域?

jQuery.validator.addMethod (...) { 
if (condition) 
{ 
    make this element required 
} 
else 
{ 
    ignore 
} 
"Error: This field is required and you left it blank" 
+0

請分享你的代碼,並解釋你需要 – 2014-09-03 05:50:19

+0

插件的addMethod裏面,你可以用'this.optional(元素)'來確認是否需要一個元素或不 – 2014-09-03 05:50:49

+0

我不想檢查元素是否是必需的。如果條件成立,我想要它。 – user1543784 2014-09-03 06:11:41

回答

1

如果你想根據條件所需的字段,你可以通過一個功能所需的規則值,它可以返回真/假像

rules: { 
    somefield: { 
     required: function() { 
      return $('#f1').is(':checked'); 
     } 
    } 
}, 

演示:Fiddle


另一種選擇是使用rules api

//add 
$('#f2').rules('add', { 
    required: true 
}); 
//remove 
$('#f2').rules('remove', 'required'); 

演示:Fiddle

+0

這將適用於一個領域。但我想根據**相同**條件製作**多個**字段。這就是我使用addMethod的原因。我希望我能正確解釋它。 – user1543784 2014-09-03 07:08:30

+1

@ user1543784然後創建一個演示使用附加的小提琴來演示你的問題 – 2014-09-03 07:14:38

+0

我想這樣 - [小提琴](http://jsfiddle.net/ugsmctu2/3/) – user1543784 2014-09-03 09:15:15

相關問題