2012-01-04 86 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