jquery 验证器:自定义条件规则
jquery validator: custom conditional rule
我有一个 html select,第一个选项值为“”。我正在使用自定义规则验证它:
$.validator.addMethod("requiredSelect", function (value, element, arg) {
return arg != value;
}, "Required field.");
然后做:
dropdownField: {
requiredSelect: ""
},
现在我需要让它成为有条件的,所以只有当给定的复选框被选中时才需要它。如果不使用自定义规则,我会做类似的事情:
dropdownField: {
required:'#myCheckbox:checked'
},
但是我怎样才能让我的自定义验证器有条件呢?
只需将 OR
运算符 (||
) 添加到 returned 表达式,这样您还可以检查复选框的 checked
状态:
$.validator.addMethod("requiredSelect", function (value, element, arg) {
return !(arg !== value || $('#myCheckbox').is(':checked'));
}, "Required field.");
当一个或多个条件为真时,您的验证器将 return 假,换句话说,当未选中复选框时,您肯定会将该字段标记为有效。
我有一个 html select,第一个选项值为“”。我正在使用自定义规则验证它:
$.validator.addMethod("requiredSelect", function (value, element, arg) {
return arg != value;
}, "Required field.");
然后做:
dropdownField: {
requiredSelect: ""
},
现在我需要让它成为有条件的,所以只有当给定的复选框被选中时才需要它。如果不使用自定义规则,我会做类似的事情:
dropdownField: {
required:'#myCheckbox:checked'
},
但是我怎样才能让我的自定义验证器有条件呢?
只需将 OR
运算符 (||
) 添加到 returned 表达式,这样您还可以检查复选框的 checked
状态:
$.validator.addMethod("requiredSelect", function (value, element, arg) {
return !(arg !== value || $('#myCheckbox').is(':checked'));
}, "Required field.");
当一个或多个条件为真时,您的验证器将 return 假,换句话说,当未选中复选框时,您肯定会将该字段标记为有效。