【问题标题】:How to validate form more than once with Jquery Validate如何使用 Jquery Validate 多次验证表单
【发布时间】: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


【解决方案1】:

您无法重新初始化插件。它只能在表单上初始化一次。您的选择是将其分解为五个不同的form 容器,或者根据需要使用.rules() 方法来激活/停用规则。

否则,默认情况下会忽略隐藏字段。因此,通常在多步骤表单上,当非活动选项卡中的字段被隐藏时,它们不再被验证。许多人会根据多步表单的类型采取这种方法。

【讨论】:

  • 在同一个 validate() 调用中使用所有规则,因为隐藏字段被忽略。谢谢你让我知道:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多