2014-01-16 100 views
0

Hy, 我有一个表格分为4个选项卡,其中3个始终可见,1个仅在特定条件下显示。我有一个保存按钮,当用户点击它时,我需要验证所有可见形式的数据。问题是当第四个标签被隐藏时,它包含在验证过程中。 这是我的电话就jQuery验证验证只有可见标签的所有输入字段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> 

一部分,这是标签内容的div

<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

看起来你忽略选择的问题。

由于默认配置忽略了验证缺省选项ignore: ":hidden"中的隐藏元素,因此您可以安全地删除该属性。


你选择ui-tabs-hide似乎是错误的,因为它看起来像一个类,但你使用它作为一个元素选择,而不是类选择。

尝试,而不是

ignore:".ui-tabs-hide :input" 
+0

我试图消除则会忽略,但在这一点上只有激活的标签被验证的输入,然后,我忽略了尝试:“的.ui-标签隐藏:输入”但什么都没有改变 –

+0

那么你如何分开隐藏的标签......是否有任何其他属性分配给它 –

+0

我编辑我的问题,添加一些HTML代码! –