2012-01-04 84 views
1

我發現this的問題,但它是在2009年寫的,大概從那時起他們決定忽略默認隱藏的字段......任何人都知道我可以驗證我的隱藏字段?jQuery驗證插件不驗證不顯示的字段

我有一個自定義invalidHandler來處理結果,並看到一些奇怪的行爲,我現在意識到這是因爲我的一些字段被隱藏(使用display:none)。我有一個選項卡形式,因此一些元素隱藏在FYI中。

在此先感謝。

+0

如果有錯誤不讓用戶更改選項卡,則一個小小的黑客可能會在選項卡更改前調用驗證。 – 2012-01-04 10:17:42

+0

你試過$(「#myform」)。validate({ignore:「:hidden」}); – Pavan 2012-01-04 10:17:46

回答

4

找到了答案......

我開始尋找驗證插件代碼和跨越這來了:

$.extend($.validator, { 
defaults: { 
messages: {}, 
groups: {}, 
rules: {}, 
errorClass: "error", 
validClass: "valid", 
errorElement: "label", 
focusInvalid: true, 
errorContainer: $([]), 
errorLabelContainer: $([]), 
onsubmit: true, 
ignore: ":hidden", 
... 

所以我設置選項「忽略」空字符串和它的作品。我猜文檔應該更新,因爲它沒有聲明有一個默認的忽略。

無論如何。

+1

謝謝!爲我節省了一些時間。 – 2013-02-21 10:28:36