2011-01-21 16 views
5

我正在使用jQuery Form Wizard 3.0.4 plugin进行多步注册过程。它使用内置的jQuery验证器插件,在逐步执行时工作正常。 编辑:这意味着我已经使用validationEnabled:true,formOptions和validationOptions,并且这些工作正在进行。我需要在常规功能之外运行相同的验证。如何在使用表单向导时运行jquery validate()?

问题是我需要运行验证器并在两点手动显示错误。我有一个特殊的领域,并在AJAX提交之前。我试过以下,它什么都不做:

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

窗体向导脚本(jquery.form.wizard-3.0.4.js)似乎这样做要到下一步骤:

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

所以我想这一点,这也无助:

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

任何想法?

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

在JQM页面中使用jquery formwizard插件可行吗?如果是这样,移动网页会不会太重? – Raman 2012-02-25 07:33:00

回答

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 
      } 

     }) 
    }) 

希望这帮助。

/Jan

0

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

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

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

+0

是的,我已经这样做了:“它使用内置的jQuery验证器插件,在逐步执行时工作正常。” – jwinn 2011-01-21 19:34:12

相关问题