如何添加';视情况而定:';jQuery验证插件中多个字段的规则?
如果用户想要账单,我使用此规则验证用户账单地址(选中输入#billyes),这是我的当前代码:如何添加';视情况而定:';jQuery验证插件中多个字段的规则?,jquery,jquery-validate,Jquery,Jquery Validate,如果用户想要账单,我使用此规则验证用户账单地址(选中输入#billyes),这是我的当前代码: //BILLING VALIDATION legal_id: { required: { depends: function(element) { return $('#billyes').is(":
//BILLING VALIDATION
legal_id: {
required: {
depends: function(element) {
return $('#billyes').is(":checked");
}
}
},
billing_name: {
required: {
depends: function(element) {
return $('#billyes').is(":checked");
}
}
},
billing_adress: {
required: {
depends: function(element) {
return $('#billyes').is(":checked");
}
}
},
.... ETC
它也是重复的,return$('#billyes')行是(“:checked”)代码>
我想这样做:
//BILLING VALIDATION
legal_id,billing_name,billing_adress,etc: {
required: {
depends: function(element) {
return $('#billyes').is(":checked");
}
}
}
这可能吗?还有别的选择吗
谢谢你
legal_id,billing_name,billing_adress,etc: {
在.validate()
方法中,您根本无法执行类似的操作。规则
选项中的对象文字必须是键:值
对,其中键
只能是单个字段名称
但是,有一种方法可以将同一规则同时应用于多个字段:
您可以将.rules()
方法与jQuery.each()
相结合。但是,您需要一个聪明的jQuery选择器来同时将它们作为目标。类似于“以开头”选择器或类
。您不能使用“以计费开始”
,因为您还有合法的\u id
,所以您需要为这些字段分配类或执行其他操作
$('.yourFields').each(function() {
$(this).rules('add', {
required: {
depends: function(element) {
return $('#billyes').is(":checked");
}
}
});
});
否则,没有,在.validate()
方法中,没有快捷方式。根据他们的文档,我不认为您可以在一行中完成这项工作,但我不确定。包含相关的HTML标记会对您有所帮助。