2011-07-23 66 views
5

我想运行一个函数,如果我的表单有完全验证根据我定义的规则(未显示在下面)。jQuery验证:检查表单是否经过验证?

下面的代码不能按我的愿望工作,最重要的是取决于success函数是以每个输入为基础调用的,而不是全局调用的完整形式。

是否有任何解决方法获得全局成功回调,当完整表单正确验证时运行

$("#myForm").validate({ 

    success: function(label) { 

     if ($("#myForm").valid()) { 
      runMyFunction(); 
     } 

    }, 

    rules: { 
     //... 
    } 

}); 

回答

0

您可以使用livevalidation

请结帐他们的API的质量验证,它具有质量验证什么,你到底要确实。

http://livevalidation.com/

http://livevalidation.com/documentation#LiveValidationMassValidate

你也可以使用jQuery bassistance验证 http://docs.jquery.com/Plugins/Validation/valid

+0

嗨!正如你在我的例子中看到的,我已经在成功回调中调用了'valid'函数。不幸的是它不起作用。有什么建议么? – Industrial

+0

你可以看到@ 3nigma的答案..它似乎有效.. :) –

+0

答案没有意义... OP询问有关Bassistance的jQuery验证插件。 – Sparky

1
$("#myForm").validate({ 

    rules: { 
     //... 
    }, 
    success: function(label) {   

    }, 
    submitHandler: function(e) { 
      e.preventDefault(); 
      runMyFunction();   
    }  
}); 

REF:http://docs.jquery.com/Plugins/Validation/validate#toptions

要做

if ($("#myForm").valid()) { 
      runMyFunction(); 
     } 

success调用回调函数,只有当从被确认只是runMyFunction()

+0

'success'回调在全局无效基础,并为每一个通过验证,即。对于用户的每个正确输入的表单。 – Industrial

+0

@Industrial你是对的,编辑答案 – Rafay