如何添加';视情况而定:';jQuery验证插件中多个字段的规则?

如何添加';视情况而定:';jQuery验证插件中多个字段的规则?,jquery,jquery-validate,Jquery,Jquery Validate,如果用户想要账单,我使用此规则验证用户账单地址(选中输入#billyes),这是我的当前代码: //BILLING VALIDATION legal_id: { required: { depends: function(element) { return $('#billyes').is(":

如果用户想要账单,我使用此规则验证用户账单地址(选中输入#billyes),这是我的当前代码:

                //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标记会对您有所帮助。