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); 
},