我对其他没有与此相关联的规则有问题,因此我更改了:
fields.valid();
对此:
var validator = this;
fields.each(function(){
validator.valid(this);
});
我还做了一些(个人)改进,这是我正在使用的版本:
jQuery.validator.addMethod("require_from_group", function(value, element, options){
var numberRequired = options[0],
selector = options[1],
$fields = $(selector, element.form),
validOrNot = $fields.filter(function() {
return $(this).val();
}).length >= numberRequired,
validator = this;
if(!$(element).data('being_validated')) {
$fields.data('being_validated', true).each(function(){
validator.valid(this);
}).data('being_validated', false);
}
return validOrNot;
}, jQuery.format("Please fill out at least {0} of these fields."));