【发布时间】:2015-11-20 20:05:21
【问题描述】:
我正在开发这个具有 5 个步骤但单个表单的向导,其目的是在用户点击完成按钮。
我正在尝试使用 Jquery Validate 插件单独验证每个步骤,我最初的想法是每次用户单击下一步时重新初始化插件,如下所示:
function validateStepOne(){
$("#form").validate({
rules: {
x: "required"
}});
if(!$("#form").valid()){
return false;
}
return true;
}
function validateStepTwo(){
$("#form").validate({
rules: {
y : "required",
}});
if(!$("#form").valid()){
return false;
}
return true;
}
但这似乎不起作用,因为在第二个以上步骤中,表单总是被标记为有效,所以我想知道如何重置验证插件以能够多次验证同一个表单.. 欢迎任何帮助
【问题讨论】:
-
尝试删除验证: $('#formid').removeData('validator');验证之间。或者您的页面中是否可以有多个具有唯一验证的表单?
-
您可以不重新初始化插件。它只能在表单上初始化一次。您唯一的选择是将其分解为五个不同的
form容器或使用.rules()方法根据需要激活/停用规则。否则,插件默认会忽略隐藏字段,对于某些人来说,这对于这种场景来说已经足够了。 -
@Sparky 我最终发现隐藏字段被忽略了,所以我只是在一个验证方法上插入了所有规则,正如你上面建议的那样,无论如何,如果你想创建一个答案,我可以一定要接受。
标签: jquery forms jquery-validate