2015-02-10 57 views
0

我有一些字段的表单,并且还另一种形式相同的形式的内部, 我想验证上部形式和分别内形式, 为例如多发性形式标签:验证形式使用自举formvalidators

<form name="upperFORM" ID="upperFORM" > 
       <div class="form-control-group"> 
       <label class="control-label" for="email">Email Address</label> 
       <div class="controls"> 
        <input type="text" class="input-xlarge" name="email" id="email"> 
       </div> 
       </div> 
       <div class="form-control-group"> 
       <label class="control-label" for="message">Your Address</label> 
       <div class="controls"> 
        <textarea class="input-xlarge" name="address" id="address" rows="3"></textarea> 
       </div> 
       </div> 
    <form name="innerForm" id="innerForm" > 
    <div class="form-control-group"> 
       <label class="control-label" for="name">Your Name</label> 
       <div class="controls"> 
        <input type="text" class="input-xlarge" name="name" id="name"> 
       </div> 
       </div> 

       <div class="form-control-group"> 
       <label class="control-label" for="name">User Name</label> 
       <div class="controls"> 
        <input type="text" class="input-xlarge" name="username" id="username"> 
       </div> 
       </div> 
    </form> 

</form> 

jQuery验证:

$('#upperFORM').validate({ 
    rules: { 
     email: { 
      required: true, 
      required: true 
     }, 

     address: { 
      minlength: 6, 
      required: true 
     } 



    }, 
    highlight: function (element) { 
     $(element).closest('.control-group').removeClass('success').addClass('error'); 
    }, 
    success: function (element) { 
     element 
     .text('OK!').addClass('valid') 
     .closest('.control-group').removeClass('error').addClass('success'); 
    } 
}); 

    $('#innerForm').validate({ 
     rules: { 
      name: { 
       required: true, 
       required: true 
      }, 

      username: { 
       minlength: 6, 
       required: true 
      } 



     }, 
     highlight: function (element) { 
      $(element).closest('.control-group').removeClass('success').addClass('error'); 
     }, 
     success: function (element) { 
      element 
      .text('OK!').addClass('valid') 
      .closest('.control-group').removeClass('error').addClass('success'); 
     } 
    }); 

上面的代码不能正常工作,请帮助

回答

1

我有一个窗体有一些字段,也是同一个窗体里面的另一个窗体,我想分别验证上层窗体和内层窗体。

<form name="upperFORM" ID="upperFORM" > 
    .... 
    <form name="innerForm" id="innerForm" > 
     .... 
    </form> 
</form> 

不能,不应做到这一点。

  • 的jQuery验证插件将无法正确处理<form>一个<form>内。它被写入使用有效的HTML标记。

  • 这是无效的HTML。没有嵌套的form这样的东西。

  • 这真的没有意义。没有理由嵌套form


,你没有解释你想要什么通过嵌套form容器来完成,但唯一的办法jQuery验证将在这些工作是分隔两个。

<form name="upperFORM" ID="upperFORM" >....</form> 

<form name="innerForm" id="innerForm" >....</form> 

不管它是什么,你试图通过嵌套两种形式来完成,可能会通过其他方式来完成更好。