2012-10-04 49 views
2

我只想期間並輸入字段(輸入錯誤或空字段)後,隱藏所有的錯誤消息。一旦提交/按鈕被按下,那麼該消息將全部出現/可見。防止jQuery驗證郵件,直到提交

問題是...每次我輸入錯誤的或者我離開文本字段爲空時它總是顯示這樣的「這個領域需要」的錯誤信息等

rules : { 

    "user.firstname" : { 
    required : true, 
    maxlength: 50, 

}, 
messsages : { 
required : "required", 
maxlength: "the max-length is 50" 
" 
} 
+0

你的代碼中有''''' – Sparky

+0

也許你可以請com回來,讓我們知道這是如何結果。謝謝。 – Sparky

回答

5

按照online documentation,你需要使用onfocusout:onkeyup:選項。


驗證元素(除複選框/單選按鈕)上模糊。如果輸入 什麼都沒有,所有的規則都跳過,當現場被 已經標記爲無效的除外。

禁用的onblur驗證:

onfocusout: false 

上KEYUP驗證元件。只要現場沒有標記爲 無效的,沒有任何反應。否則,將在每個鍵 起事件中檢查所有規則。

禁用的onkeyup驗證:

onkeyup: false 

而且取決於如果您有複選框,單選按鈕,您可能要禁用onclick:選項也是如此。

單擊確認複選框和單選按鈕。

禁用的onclick驗證:

onclick: false 
-2

,而不是$(文件)。就緒(函數(){}您可以嘗試使用

$('input[type=submit]').click(function(event) { 
// Do your validation, if it fails use event.preventDefault(); 
}); 

只是試試看讓我知道會發生什麼......

+0

這是實現插件的錯誤方法。 '.validate()'必須在'document.ready'中初始化才能正常工作。點擊處理程序已經內置到插件中,因此將其包裝在另一箇中是多餘且不合適的。 – Sparky

+0

如果這就是文檔所說的那麼我很抱歉......但我只是試了一下,它的工作正常,所以你可以讓我知道當你說功能正確時你的意思是什麼? (只是出於好奇知道) – Scorpio

+0

請參閱[this](http://stackoverflow.com/questions/9935963/jquery-validation-messages-only-show-up-after-multiple-submits/9936025#9936025),[這個](HTTP://計算器。com/questions/11067999/jquery-validation-plugin-wont-validate-when-in-click-event-handler-of/11068130#11068130)和[this](http://stackoverflow.com/questions/10825290/) jquery的驗證-驗證-數 - 時間 - 一個場合一個隱藏區/ 10825498#10825498)。根據您提出的實施方案報告問題的人數,它似乎非常受歡迎,雖然完全錯誤。 – Sparky