2015-02-10 64 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> 

不管它是什麼,你試圖通過嵌套兩種形式來完成,可能會通過其他方式來完成更好。