2012-02-18 89 views
2

如何在不检查任何内容的情况下重新对齐jQuery验证插件(http://bassistance.de/jquery-plugins/jquery-plugin-validation/)产生的错误消息。理想情况下,我想把它放在复选框下面,而不是放在旁边。下面是代码:jQuery验证插件重新定位错误消息

<script> $(document).ready(function() { 
    $("#form1").validate(); 
    $("#form2").validate({ 
     rules: { 
      "option[]": { 
       required: true, 
       minlength: 1 
      } 
     } 
    }); 
}); 
</script> 
        <form action="#" name="form2" id="form2"> 
<input type="checkbox" name="option[]" value="DataProject"/> 
DataProject 
</label> 
<br /> 
<label> 
    <input type="checkbox" name="option[]" value="DC control" /> 
    DC control</label> 
<label><br /> 
    <input type="checkbox" name="option[]" value="Computher" /> 
    Computer</label> 
<br /> 
<label> 
    <input type="checkbox" name="option[]" value="OHP" /> 
    OHP</label> 
<p> * Please check at least one 

回答

0

你可以尝试使用<div>errorElement

$("#form2").validate({ 
    errorElement: 'div', 
    rules: { 
     "option[]": { 
      required: true, 
      minlength: 1 
     } 
    } 
});​ 
+0

我怎样才能实现这个与上面的例子,所以它显示错误信息'*请检查至少一个'文本 – methuselah 2012-02-18 23:16:17

0

您也可以尝试设置的默认值,如:

jQuery.validator.setDefaults({ 
    errorPlacement: function(error, element) { 
     if(element.attr('name') == 'm2'){ 
      error.insertAfter('small#m2_desc'); 
      error.css('display', 'none'); 
      error.css('color', 'red'); 
      error.fadeIn(); 
     } 
    } 
}); 

了html像:

<div class="rowElem"> 
          <label for"m2">M2 a limpar</label> 
          <input type="text" name="m2" value="'.$m2.'"/><br/> 
          <small id="m2_desc">mín: 100; máx: 10000</small> 
         </div> 

这是我的一个项目的一个工作示例。