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

时间:2011-01-21 18:49:38

标签: jquery validation formwizard

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

问题是我需要运行验证器并在两点手动显示错误。对于我所拥有的特殊领域,以及在提交AJAX之前。我尝试过以下内容,但没有做任何事情:

$("#registrationForm").validate();  

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

this.element.validate().focusInvalid();

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

$("#registrationForm").element.validate().focusInvalid();

有什么想法吗?

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

2 个答案:

答案 0 :(得分:3)

我认为下面的示例代码可能适用于您,当单击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
            }

        })
    })

如果您只需要验证一个输入字段,那么您可以使用以下代码(在这种情况下单击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
            }

        })
    })

希望这有帮助。

/月

答案 1 :(得分:0)

你看过插件的文档了吗?设置中有一个简单的开关,可以在定义表单向导时进行这种验证。

http://thecodemine.org/#_demoForm=first

然后点击“选项”并查看“validationEnabled”以启用验证,然后查看“validationOptions”以设置选项。