2010-11-07 54 views
0

我已经开始使用jQuery验证插件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"> 
+0

我也想创建一个向导,但我不知道如何在向导的不同步骤中坚持我的viewModel的状态。你能告诉我你是如何设法做到的吗?我在这里创建了一个线程http://stackoverflow.com/questions/14769005/asp-net-mvc-updating-model-as-user-progress-through-wizard – Sam 2013-02-08 11:53:21

回答

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"> 

的作品非常好。谢谢大家的帮助

1

尝试使用名称

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