2011-07-23 86 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