仅验证可见选项卡jquery的所有输入字段

时间:2014-01-16 10:29:46

标签: jquery html forms

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>

1 个答案:

答案 0 :(得分:0)

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

您可以安全地删除该属性,因为默认配置会忽略validation- default options ignore: ":hidden"中的隐藏元素。


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

尝试改为

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