隐藏'中的Jquery验证;分区';

隐藏'中的Jquery验证;分区';,jquery,html,validation,jquery-plugins,jquery-validate,Jquery,Html,Validation,Jquery Plugins,Jquery Validate,我不熟悉Jquery。我在一个有14个字段的表格中工作 前7个字段可见,下7个字段通过在div中单击按钮进行切换现在总共有7个字段,它们是“必需的”3来自前7个(可见部分)和4个来自切换div 问题是,当切换div可见时,如果我遗漏了7个字段中的任何一个,JQuery的验证插件将显示所需的消息,但当div被隐藏时,同一插件只检查3个字段(位于表单的可见部分)的验证 如何在表单的部分被隐藏时对完整表单进行验证 现在,如果我删除文本框地址1的值并隐藏地址部分,然后单击保存,它将不会提示地址1的必需内

我不熟悉Jquery。我在一个有14个字段的表格中工作

前7个字段可见下7个字段通过在div中单击按钮进行切换现在总共有7个字段,它们是“必需的”3来自前7个(可见部分)和4个来自切换div

问题是,当切换div可见时,如果我遗漏了7个字段中的任何一个,JQuery的验证插件将显示所需的消息,但当div被隐藏时,同一插件只检查3个字段(位于表单的可见部分)的验证

如何在表单的部分被隐藏时对完整表单进行验证
现在,如果我删除文本框地址1的值并隐藏地址部分,然后单击保存,它将不会提示地址1必需内容,即使我保留了它“必需”

,可能的原因是
忽略:“:隐藏”
jquery.validate.unobtrusive.js文件中的行。把那条线去掉

在1.9.0版本之后,这是默认行为。如果文件中不存在该行(我不确定),您可以通过添加

$.validator.setDefaults({ ignore: [] });
如你所见

另一个更改应该使表单的设置具有隐藏元素 更简单的是,现在默认情况下会忽略这些选项(“忽略”选项已取消) “:hidden”现在作为默认设置)。从理论上讲,这可能会打破现有的平衡 设置。在不太可能的情况下,您可以通过 将忽略选项设置为“[]”(不带 报价)。


输入是如何隐藏的?你确定元素隐藏时存在吗?很好,它开始工作了,但是我如何才能使隐藏的div可见。我的意思是现在表单没有提交,因为值没有填充,但是div处于隐藏状态。当抛出验证错误时,您可以通过编程方式显示隐藏的div。