验证输入元素的子集

时间:2010-11-07 13:37:16

标签: jquery jquery-validate validation jwizard

我已经开始使用jQuery Validation插件1.7。

我有一个类似于界面的向导,可以收集多个视图模型类的输入。每次用户点击NEXT / PREVIOUS按钮时,我都会尝试验证步骤中显示的每个对象。

我的jquery代码就像这个

$w.bind("jwizardchangestep", function (event, ui) {
    if (ui.type !== "manual") {
        var $currentStep = $w.find(".jw-step:eq(" + ui.currentStepIndex + ")");
        var $inputs = $currentStep.find("input:text");

        if ($inputs.length > 0 && !$inputs.valid()) {
            $currentStep.find("label.error").effect("highlight");
            return false;
        }
    }
});

其中$inputs包含对页面中所有输入框的引用。

无论如何,函数$inputs.valid()总是返回true,即使输入元素根本没有被填充。我怀疑我在另一个jQuery调用中指定的验证规则出了问题,比如这个

$("#registerForm").validate({
    rules: {
        Firm_Name: "required",
        Firm_StreetAddress: "required",
        Firm_ZipCode: "required",
        Firm_City: "required"
    }
});

这是输入框的示例标记代码

<input id="Firm_Name" name="Firm.Name" style="width: 460px;" type="text" value="" class="ui-widget-content">

2 个答案:

答案 0 :(得分:1)

尝试使用名称

$("#registerForm").validate({
    rules: {
        Firm.Name: "required",
        Firm.StreetAddress: "required",
        Firm.ZipCode: "required",
        Firm.City: "required"
    }
});

答案 1 :(得分:0)

我使用元数据中的规则。

似乎是电话

$("#registerForm").validate({
    rules: {
        Firm_Name: "required",
        Firm_StreetAddress: "required",
        Firm_ZipCode: "required",
        Firm_City: "required"
    }
});

将设置要在提交时检查的规则,这不是我想要做的,因为我想在下一次按钮点击时验证每个向导。

将元数据中的规则用作

<input id="Firm_Name" name="Firm.Name" 
    style="width: 460px;" type="text" value="" 
    class="required ui-widget-content">

效果很好。谢谢大家的帮助