0

我使用JQuery驗證器插件驗證表單。但是,我想將錯誤輸出放在特定的位置。我從Validator documentationJQuery驗證插件錯誤放置不起作用

<div class="form_errors"><!--HERE SHOULD THE ERROR GO --></div> 
          <div class="form_holder_invitee" > 
           <form class="homepage_invitee_form" id="homepage_invitee_form" action="add" method="get"> 
            <input name="email" placeholder="Email Address" 
             id="email_address_new" type="text placeholder"> <br> 
    ... 

我的驗證腳本嘗試錯誤放置的是:

$(document).ready(function(){ 

    $('#homepage_invitee_form').validate({ 
     rules: { 
      firstName: { 
       minlength: 2, 
       required: true 
      }, 
      email: { 
       required: true, 
       email: true 
      }, 
      lastName: { 
       minlength: 2, 
       required: true 
      } 
     }, 
     errorPlacement: function(error, element) { 
      error.appendTo(element.parent(".form_errors")); 
     }, 
     debug:true 

    }); 

}); // end document.ready 

我想錯誤放入<div class="form_errors">。 但是,當我提交表單時沒有任何反應。

任何想法?

PS:我也嘗試過該鏈接:

jQuery validation error position

然而,也不起作用......

+0

你想從一個元素只是一個消息放在那裏,或者你想從形式的所有消息放在那裏......這樣的錯誤摘要框? – Sparky

回答

3

的問題是你的選擇和使用.parent()。將您的errorPlacement更新爲以下版本,它將起作用。 See this fiddle來查看它的工作。

errorPlacement: function(error, element) { 
    console.log(element); 
    element.closest(".form_holder_invitee").prev().append(error); 
},