如何在使用表单向导时运行jquery validate()?

jwi*_*inn 5 validation jquery formwizard

我正在使用jQuery Form Wizard 3.0.4插件进行多步注册过程.它使用内置的jQuery验证器插件,从一步到另一步工作正常.编辑:这意味着我已经在使用validationEnabled:true,formOptions和validationOptions,这些都有效.我需要在常规功能之外运行相同的验证.

问题是我需要运行验证器并在两点手动显示错误.对于我所拥有的特殊领域,以及在提交AJAX之前.我尝试过以下内容,它什么都不做:

$("#registrationForm").validate();  
Run Code Online (Sandbox Code Playgroud)

表单向导脚本(jquery.form.wizard-3.0.4.js)在进行下一步时似乎正在执行此操作:

this.element.validate().focusInvalid();
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个,它也没有做任何事:

$("#registrationForm").element.validate().focusInvalid();
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

  1. 如何运行单击下一步时发生的相同验证?
  2. 如何调用验证并显示特定字段错误的函数?

小智 4

我认为下面的示例代码可能适合您,当单击 id="validate_form" 的按钮或元素时会触发验证。这基本上是当用户单击“下一步”时运行的代码(在插件中)。

    $(function(){
        $("#validate_form").click(function(){ // when the button is clicked...
            var wizard = $("#demoForm"); // cache the form element selector
            if(!wizard.valid()){ // validate the form
                wizard.validate().focusInvalid(); //focus the invalid fields
            }

        })
    })
Run Code Online (Sandbox Code Playgroud)

如果您只需要验证一个输入字段,那么您可以使用以下代码(在本例中单击 id="validate_email" 的按钮):

    $(function(){
        $("#validate_email").click(function(){ // when the button is clicked...
            var wizard = $("#demoForm"); // cache the form element selector
            if(!wizard.validate().element( "#myemail" )){ // validate the input field
                wizard.validate().focusInvalid(); // focus it if it was invalid
            }

        })
    })
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

/一月