jquery.validate,错误信息位置


jquery.validate,错误信息位置

张映 发表于 2011-01-19

分类目录: js/jquery

标签:jquery, validate

好长时间没有用jquery.validate.js这个插件了,忘得差不多了。唉,好东西还是要经常拿出来看看的,今天用jquery.validate来做一个小东西,遇到一个问题,就是错误提示信息的位置问题,如果知道的话,很简单。以前遇到过,可是忘了,现在标记一下,将来在忘了,在回过头看看。俗话说的好,好记性不如烂笔头。

 

举个例子,大家就知道怎么回事了。

查看 复制 打印 ?
  1. rules: {  
  2. name:{  
  3. required:true,  
  4. rangelength:[1,20]  
  5. },  
  6. validateCode: {  
  7. required:true,  
  8. number:true,  
  9. rangelength:[5,5]  
  10. }  
  11. },  
  12. messages: {  
  13. name: {  
  14. required: "请输入命令名",  
  15. rangelength: jQuery.format("长度请控制在{0} ~ {1}")  
  16. },  
  17. validateCode: {  
  18. required: "请输入验证码",  
  19. number: "请输入数字",  
  20. rangelength: jQuery.format("长度必须是5位")  
  21. }  
  22. },  
  23.   
  24. success: function(label) {  
  25. label.addClass("error checked");  
  26. },  
  27.   
  28. submitHandler: function(form) {  
  29. if($("#RegionId").val() == '0'){  
  30. $("#citySelect").attr("class","error").html('请选择区域').show();  
  31. $("#RegionId").attr("class","error");  
  32. }else{  
  33. $("#RegionId").attr("class","valid");  
  34. $("#citySelect").attr("class","valid").html('success').show();  
  35. form.submit();  
  36. }  
  37. }  
  38. });  

在上面的代码中,我并没有添加错误信息存放位置的方法,我们看一下效果

查看 复制 打印 ?
  1.   
  2. "text" maxlength="30" value="" id="name" name="name">  
  3. for="name" generated="true">请输入命令名                                   //错误信息会自动根在输入框的后面。  
  4.   

如果我们加上错误信息位置的方法errorPlacement来看一下效果是什么样子的。

查看 复制 打印 ?
  1.  rules: {  
  2.  name:{  
  3.  required:true,  
  4.  rangelength:[1,20]  
  5.  },  
  6.  validateCode: {  
  7.  required:true,  
  8.  number:true,  
  9.  rangelength:[5,5]  
  10.  }  
  11.  },  
  12.  messages: {  
  13.  name: {  
  14.  required: "请输入命令名",  
  15.  rangelength: jQuery.format("长度请控制在{0} ~ {1}")  
  16.  },  
  17.  validateCode: {  
  18.  required: "请输入验证码",  
  19.  number: "请输入数字",  
  20.  rangelength: jQuery.format("长度必须是5位")  
  21.  }  
  22.  },  
  23. errorPlacement: function(error, element) {                             //错误信息位置设置方法  
  24.  error.appendTo( element.parent().next() );                            //这里的element是录入数据的对象  
  25.  },  
  26.  success: function(label) {  
  27.  label.addClass("error checked");  
  28.  },  
  29.   
  30.  submitHandler: function(form) {  
  31.  if($("#RegionId").val() == '0'){  
  32.  $("#citySelect").attr("class","error").html('请选择区域').show();  
  33.  $("#RegionId").attr("class","error");  
  34.  }else{  
  35.  $("#RegionId").attr("class","valid");  
  36.  $("#citySelect").attr("class","valid").html('success').show();  
  37.  form.submit();  
  38.  }  
  39.  }  
  40.  });  

来看一下效果

查看 复制 打印 ?
  1.   
  2.  for="name" id="lname">"必填">*命令名称  
  3.  "text" maxlength="30" value="" id="name" name="name">  
  4.  for="name" generated="true">请输入命令名                     //错误信息跑到这儿来了,  
  5.    

够简单吧,在简单的东西,长时间不用也会忘的。

 


转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1206.html
 
 
 
error.appendTo( element.parent().next('.back'));   
error.appendTo( element.parent().parent().find('.back'));      //表示验证信息统一显示在.back后面
 error.appendTo( element.parent());     //表示验证信息在各自input后面
 
 
/*错误提示位置*/
          errorPlacement:function(error,element){  //第一个参数是错误的提示文字,第二个参数是当前输入框
               error.appendTo(element.siblings("span"));  //用的是jQuery,这里设置的是,错误提示文本显示在当前文本框的兄弟span中
          }
 
errorClass:String  Default: "error" 
指定错误提示的css类名,可以自定义错误提示的样式
errorElement:String  Default: "label" 
用什么标签标记错误,默认的是label你可以改成em
errorContainer:Selector 
显示或者隐藏验证信息,可以自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏,用处不大
errorContainer: "#messageBox1, #messageBox2"
errorLabelContainer:Selector
把错误信息统一放在一个容器里面。
wrapper:String
用什么标签再把上边的errorELement包起来
一般这三个属性同时使用,实现在一个容器内显示所有错误提示的功能,并且没有信息时自动隐藏
errorContainer: "div.error",
errorLabelContainer: $("#signupForm div.error"),
wrapper: "li" 

你可能感兴趣的:(jquery.validate,错误信息位置)