使用jQuery Validate插件验证表单的子集

And*_*vey 14 jquery jquery-validate

我的HTML表单有许多div,它们是向导的步骤.单击"下一步"按钮后,我想验证活动div.我正在使用jQuery.Validate.js插件.

每个div都有一个ID,所以我想要一种方式来说:

wizardForm.validate().element('#first-step :input')
Run Code Online (Sandbox Code Playgroud)

但这只能验证第一个输入,而不是所有输入.如何验证div中的所有输入?

And*_*vey 28

根据jAndy的建议,我创建了这个辅助函数:

jQuery.validator.prototype.subset = function(container) {
    var ok = true;
    var self = this;
    $(container).find(':input').each(function() {
        if (!self.element($(this))) ok = false;
    });
    return ok;
}
Run Code Online (Sandbox Code Playgroud)

用法:

if (wizardForm.validate().subset('#first-step')) {
    // go to next step
}
Run Code Online (Sandbox Code Playgroud)