HY, 我有一个分为4个标签的表格,其中3个始终可见,1个仅在特定条件下显示。我有一个保存按钮,当用户点击它时,我需要以所有可见的形式验证数据。问题是,当隐藏第四个选项卡时,它将包含在验证过程中。 这是我的调用jquery验证
$('#frmEdit_SociBDP').validate({ignore:"ui-tabs-hide",
invalidHandler: function(e, validator){
if(validator.errorList.length)
$('#tabs a[href="#' + jQuery(validator.errorList[0].element).closest(".tab- pane").attr('id') + '"]').tab('show');
}});
我不知道是否有一个不同的字符串要传递忽略,以便忽略隐藏的选项卡,或者可能还有其他一些解决方法,即从必须不验证的字段中删除所需的类, 谁有想法? 感谢的
编辑:这是我的表单HTML代码的一部分
<ul class="nav nav-tabs" id="tabs" style="width:900px">
<li class="active"><a href="#tab-AnagraficaBase" data-toggle="tab">Anagrafica base</a></li>
<li id="completa" style=""><a href="#tab-AnagraficaCompleta" data-toggle="tab">Anagrafica completa</a></li>
<li id="attachments" style=""><a href="#tab-Allegati" data-toggle="tab">Allegati</a></li>
<li id="info" style="display: none;"><a href="#tab-Aziende" data-toggle="tab">Info Azienda</a></li>
</ul>
这是标签内容divs
<div id="tab-AnagraficaBase">//many inputs</div>
<div id="tab-AnagraficaCompleta">//many inputs</div>
<div id="tab-Aziende">//many inputs</div>
<div id="tab-Allegati">//other inputs</div>
答案 0 :(得分:0)
看起来你的忽略选择器就是问题。
您可以安全地删除该属性,因为默认配置会忽略validation- default options ignore: ":hidden"
中的隐藏元素。
您的选择器ui-tabs-hide
似乎是错误的,因为它看起来像一个类,但您将它用作元素选择器而不是类选择器。
尝试改为
ignore:".ui-tabs-hide :input"