JQuery Validate不适用于引导转盘内的表单

JQuery Validate不适用于引导转盘内的表单,jquery,twitter-bootstrap,jquery-validate,carousel,bootstrap-carousel,Jquery,Twitter Bootstrap,Jquery Validate,Carousel,Bootstrap Carousel,我有一个表单,其中输入字段位于引导转盘内。这些字段使用jquery验证进行验证 <form action="#" method="post" id="carouselForm"> <div class="container"> <div id="carouselExampleControls" class="carousel slide" data-ride="carousel" data-interval="false"> <div class

我有一个表单,其中输入字段位于引导转盘内。这些字段使用jquery验证进行验证

<form action="#" method="post" id="carouselForm">
<div class="container">

<div id="carouselExampleControls" class="carousel slide" data-ride="carousel" data-interval="false">

  <div class="carousel-inner">
    <div class="carousel-item active">
      Name : <input type='text' name="name"> <p>
      Age : <input type='text' name="age"> <br>
    </div>

    <div class="carousel-item">
      Street : <input type='text' name="street"> <p>
      State : <input type='text' name="state"> <br>
    </div>
    <div class="carousel-item">
      Country : <input type='text' name="country"> <p>
      PIN : <input type='text' name="pin"> <br>
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleControls" role="button" style="left: -90px;" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true" ></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
<button type="submit" class="shadow btn btn-primary float-right " id="btnValidate">Save  </button>
</div>

</form>
我该如何解决这个问题


JSFIDLE是

您的问题与引导转盘有关。当必填字段不可见时,在验证过程中不考虑该字段

<form action="#" method="post" id="carouselForm">
<div class="container">

<div id="carouselExampleControls" class="carousel slide" data-ride="carousel" data-interval="false">

  <div class="carousel-inner">
    <div class="carousel-item active">
      Name : <input type='text' name="name"> <p>
      Age : <input type='text' name="age"> <br>
    </div>

    <div class="carousel-item">
      Street : <input type='text' name="street"> <p>
      State : <input type='text' name="state"> <br>
    </div>
    <div class="carousel-item">
      Country : <input type='text' name="country"> <p>
      PIN : <input type='text' name="pin"> <br>
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleControls" role="button" style="left: -90px;" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true" ></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
<button type="submit" class="shadow btn btn-primary float-right " id="btnValidate">Save  </button>
</div>

</form>
因此,在滑动之前,您需要验证每个可见的输入字段。您还需要在保存单击中添加一个复选框,以测试是否存在不可见的必填字段:在这种情况下,您需要滑动到正确的转盘页面,让用户完成操作

document.body.style.backgroundColor='grey';
$(“#旋转木马”).validate({
规则:{

“name”:{//如另一个答案中所述,jQuery验证插件默认忽略隐藏字段。但是,您不必切换到完全不同的插件,只需通过告诉它忽略“nothing”来禁用
忽略
选项即可


你的演示:

真的吗?如果用户只需设置
忽略
选项,你的答案是切换到另一个插件?@Sparky mea culpa。谢谢
$("#carouselForm").validate({
    ignore: [],  // ignore NOTHING
    rules : {
        "name" : { 
            required : true,
                minlength : 3
            }, ....