jquery验证特定位置的错误放置

时间:2013-04-19 07:30:47

标签: jquery jquery-validate

我想用jquery验证验证我的表单但我想将我的错误标签放到特定的地方。下面的示例显示放在<span class="error_label"></span>中的错误标签。我的问题是如何在特定的地方进行错误放置,下面有一个例子,请帮助我......谢谢?

<script>
$(document).ready(function (){
$("#fm_regis").validate({
    rules :{
        name: {
            required: true,
        },
    },
    errorPlacement: function(error, element) {      
        //$(element).next('span .error_label :first').html(error);
        //$('.error_label').html(error);
        //$('.error_label').html(error);
        $(element).closest('.error_label').html(error);
    },
    messages: {
        name: {
            required: "Please input a username",
        },
    }
});
});
</script>

    <form name="fm_regis" id="fm_regis">
    <table>   
      <tr>
         <td width="100">Nama</td>
         <td>:</td>
         <td><input type="text" name="name" id="name" size="30"/></td>
      </tr> 
      <tr>
         <td width="100"></td>
         <td></td>
         <td><span class="error_label"></span></td>
      </tr>
   </table>
     <input type="submit" value="Register"/>
   </form>

3 个答案:

答案 0 :(得分:4)

试试这个:

$("#fm_regis").validate({
  rules :{
    name: {
      required: true,
    },
  },   
  errorLabelContainer: "#id-of-your-specific-place",
  // More of your code
})

摆脱errorPlacement:功能。

答案 1 :(得分:4)

在您的具体情况下,您可以执行以下操作:

$(element).closest('tr').next().find('.error_label').html(error);

http://jsfiddle.net/kqTQu/

答案 2 :(得分:0)

不确定我是否正确理解了这个问题,请尝试更改此行

$(element).closest('.error_label').html(error);

$(element).append( "<span class="error_label">" + error + "</span>") ;

确保在启动验证之前删除所有错误标签