2009-12-15 75 views
0

所以我試圖找到一種方法來讓jQuery驗證插件只是在窗體無效時返回false,並且不顯示錯誤消息或執行任何操作其他。但是這比事實證明要困難得多。我設置了驗證這樣:jQuery驗證插件:如何測試有效的和唯一的測試有效

var validator = $journalForm.validate({ 
    rules: { 
     EntryDate: { required: true, date: true }, 
     EvalStatus: { required: true }, 
     EvalState: { required: true }, 
     ActivityType: { required: true }, 
     Duration: { required: true }, 
    } 
}); 

而且我測試,看看是否形式是有效的,例如:

if ($form.valid()) { 
    alert("success"); 
} 
else { 
    alert("fail"); 
} 

的問題是,當它擊中上面的if語句,如果表格無效,它甚至不會到達其他地方。相反,它只是顯示錯誤。但是,如果表單有效,則會觸發警報並彈出「成功」。當表單不通過規則時,我怎麼才能從插件返回一個簡單的「false」,並讓它不做任何事情?

謝謝。

回答

0

可以使用showErrors option爲此,傳遞的是什麼都不做的功能,如:

$journalForm.validate({ 
    rules: { 
    EntryDate: { required: true, date: true }, 
    EvalStatus: { required: true }, 
    EvalState: { required: true }, 
    ActivityType: { required: true }, 
    Duration: { required: true }, 
    }, 
    showErrors: function() { } 
}); 

這將防止錯誤顯示,因爲他們通常會,那麼你可以做到這一點,以獲得狀態:

alert($journalForm.valid() ? "success" : "fail");