如何在jQuery Validate插件中使用必需的addMethod?

时间:2014-09-03 05:45:21

标签: javascript jquery validation

我正在尝试使用jQuery Validate插件addMethod来验证类似验证条件的多个字段。这些字段是必需的,具体取决于另一个下拉选项。 如何在addMethod中使用required:true属性?

我能想到的是用于检查字段是否为空的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"

1 个答案:

答案 0 :(得分:1)

如果你想根据一个条件创建一个字段,你可以传递一个函数作为所需的规则值,它可以返回true / false,如

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

演示:Fiddle


另一种选择是使用rules api之类的

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

演示:Fiddle