我在几个Twitter的Bootstrap选项卡上有一个表单:

<form id="personal-data" class="form-horizontal">
  <div class="tabbable">
    <ul id="tab" class="nav nav-tabs">
      <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
      <li class=""><a href="#profile" data-toggle="tab">Profile</a></li>
      <!-- ... -->
    </ul>

    <div id="myTabContent" class="tab-content">
      <div class="tab-pane fade active in" id="home">
        <fieldset>
          <div class="control-group">
            <div class="controls">
              <input type="text" id="field1">
            </div>
          </div>
        </fieldset>
      </div>
      <div class="tab-pane fade" id="profile">
        <fieldset>
          <div class="control-group">
            <div class="controls">
              <input type="text" id="field2">
            </div>
          </div>
        </fieldset>
      </div>

当我valid在事件选项卡上使用jQuery验证表单,而在同一选项卡上具有无效值的字段时,则验证失败(正确)。但是,当我在一个选项卡上并且无效值在另一个选项卡上时,验证将返回true,这是不正确的。我该如何解决?如何在另一个标签上突出显示该字段?

请参阅this demo(只需按下一步按钮-它会显示错误消息,然后转到最后一个标签并在此按完成)。

最佳答案

我认为您的问题在于验证仅发生在可见元素中。

阅读此issue,我们可以在1.9版上看到



和一个解决方案,向下注释几句话

$.validator.setDefaults({
    ignore: ""
});

10-07 19:51