2012-08-03 97 views
2

我正在使用jQuery驗證插件。我有這樣的代碼:jQuery.validate - 有效()意外失敗

$(".btn-overview-basic-save").click(function(e) { 
    if (!$('.contact-overview').valid()) { 
    } else { 
     alert("invalid") 
    } 

而且我越來越無效警報出於某種原因,即使表單填寫完畢後,並沒有任何錯誤或錯誤標記都顯示出來。我評論了我的所有規則,我仍然得到它。我嘗試添加:

errorPlacement: function ($error, $element) { 
    console.log("error", $error, $element); 
} 

但是我的控制檯沒有顯示出來。

簡單的抓住驗證插件的非縮小版本並逐步完成,找出這裏發生了什麼最好的方法是什麼?

+0

我喜歡這個插件,但它確實很特別。我遇到過這種情況,但每次都有其他原因。 – 2012-08-03 15:18:29

+0

@ngmiceli - 你可以想出任何一半的想法 - 只是在評論中轉儲他們,我會非常感激。 – 2012-08-03 15:19:09

+0

等等,是不是你的情況倒退?如果它無效,什麼也不做,其他(有效)但警報無效? – 2012-08-03 15:22:59

回答

2

我認爲這只是一些倒退邏輯的情況。你有沒有錯過.valid()前面的!

if (! $('.contact-overview').valid()) //if it is not valid 
{ 
     //Handle INVALID logic here 
} 
else //if it is valid 
{ 
    alert("invalid") //handle VALID logic here. Wait... 
} 

刪除!也許?

+1

這將是那些日子之一......謝謝! – 2012-08-03 15:26:17

1

這裏的問題if (!$('.contact-overview').valid())它應該是 if ($('.contact-overview').valid())沒有

$(".btn-overview-basic-save").click(function(e) { 
    if ($('.contact-overview').valid()) { 
    } else { 
     alert("invalid") 
    } 
+0

+1 - yep - ngmiceli打敗你:) – 2012-08-03 15:35:02

+0

我該怎麼辦,解決方法是這樣,直到答案沒有被接受... :) – 2012-08-03 15:38:58

+0

不用擔心 - 我不能接受答案直到我問完15分鐘後 - 這就是爲什麼它還沒有被接受。 – 2012-08-03 15:46:00