好长时间没有用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. success: function(label) {
  24. label.addClass("error checked");
  25. },
  26. submitHandler: function(form) {
  27. if($("#RegionId").val() == '0'){
  28. $("#citySelect").attr("class","error").html('请选择区域').show();
  29. $("#RegionId").attr("class","error");
  30. }else{
  31. $("#RegionId").attr("class","valid");
  32. $("#citySelect").attr("class","valid").html('success').show();
  33. form.submit();
  34. }
  35. }
  36. });
 rules: {
name:{
required:true,
rangelength:[1,20]
},
validateCode: {
required:true,
number:true,
rangelength:[5,5]
}
},
messages: {
name: {
required: "请输入命令名",
rangelength: jQuery.format("长度请控制在{0} ~ {1}")
},
validateCode: {
required: "请输入验证码",
number: "请输入数字",
rangelength: jQuery.format("长度必须是5位")
}
}, success: function(label) {
label.addClass("error checked");
}, submitHandler: function(form) {
if($("#RegionId").val() == '0'){
$("#citySelect").attr("class","error").html('请选择区域').show();
$("#RegionId").attr("class","error");
}else{
$("#RegionId").attr("class","valid");
$("#citySelect").attr("class","valid").html('success').show();
form.submit();
}
}
});

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

  1. <td>
  2. <input type="text" maxlength="30" value="" id="name" name="name">
  3. <label for="name" generated="true">请输入命令名</label>                                   //错误信息会自动根在输入框的后面。
  4. </td>
<td>
<input type="text" maxlength="30" value="" id="name" name="name">
<label for="name" generated="true">请输入命令名</label> //错误信息会自动根在输入框的后面。
</td>

如果我们加上错误信息位置的方法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. submitHandler: function(form) {
  30. if($("#RegionId").val() == '0'){
  31. $("#citySelect").attr("class","error").html('请选择区域').show();
  32. $("#RegionId").attr("class","error");
  33. }else{
  34. $("#RegionId").attr("class","valid");
  35. $("#citySelect").attr("class","valid").html('success').show();
  36. form.submit();
  37. }
  38. }
  39. });
 rules: {
name:{
required:true,
rangelength:[1,20]
},
validateCode: {
required:true,
number:true,
rangelength:[5,5]
}
},
messages: {
name: {
required: "请输入命令名",
rangelength: jQuery.format("长度请控制在{0} ~ {1}")
},
validateCode: {
required: "请输入验证码",
number: "请输入数字",
rangelength: jQuery.format("长度必须是5位")
}
},
errorPlacement: function(error, element) { //错误信息位置设置方法
error.appendTo( element.parent().next() ); //这里的element是录入数据的对象
},
success: function(label) {
label.addClass("error checked");
}, submitHandler: function(form) {
if($("#RegionId").val() == '0'){
$("#citySelect").attr("class","error").html('请选择区域').show();
$("#RegionId").attr("class","error");
}else{
$("#RegionId").attr("class","valid");
$("#citySelect").attr("class","valid").html('success').show();
form.submit();
}
}
});

来看一下效果

  1. <tr>
  2. <th><label for="name" id="lname"><code title="必填">*</code>命令名称</label></th>
  3. <td><input type="text" maxlength="30" value="" id="name" name="name"></td>
  4. <td><label for="name" generated="true">请输入命令名</label></td>                     //错误信息跑到这儿来了,
  5. </tr>
<tr>
<th><label for="name" id="lname"><code title="必填">*</code>命令名称</label></th>
<td><input type="text" maxlength="30" value="" id="name" name="name"></td>
<td><label for="name" generated="true">请输入命令名</label></td> //错误信息跑到这儿来了,
</tr>

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

原文地址:http://blog.51yip.com/jsjquery/1206.html

jquery.validate,错误信息位置的更多相关文章

  1. JQuery.validate 错误信息对话框

    <script src="${pageContext.request.contextPath}/static/js/jquery-1.12.1.js"type="t ...

  2. JQuery.validate.js 表单验证

    官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/API: http://jquery.bassistance.de ...

  3. JQuery validate.js 在ajax提交form时如何触发

    在使用jquery validate.js 插件时,发现,如果是用onclick事件捕获提交按钮的动作,并且ajax动态提交form,验证不会被触发,而是直接提交了form. 后来发现,需要手动调用该 ...

  4. jQuery Validate 表单验证

    在做网页表单时时常需要在客户端对表单填写的数据进行验证一番才能提交,我们可以通过自己编写JavasScript代码来验证,但是有时数据量过多时就会有些难度了.基于jQuery的jquery.valid ...

  5. (转)jQuery Validate 表单验证

    在做网页表单时时常需要在客户端对表单填写的数据进行验证一番才能提交,我们可以通过自己编写JavasScript代码来验证,但是有时数据量过多时就会有些难度了.基于jQuery的jquery.valid ...

  6. (转)jquery.validate.js 的 remote 后台验证

    之前已经有一篇关于jquery.validate.js验证的文章,还不太理解的可以先看看:jQuery Validate 表单验证(这篇文章只是介绍了一下如何实现前台验证,并没有涉及后台验证remot ...

  7. jquery validate remote验证唯一性

    jquery.validate.js 的 remote 后台验证 之前已经有一篇关于jquery.validate.js验证的文章,还不太理解的可以先看看:jQuery Validate 表单验证(这 ...

  8. php--validate错误信息提示样式

    //validate  错误信息提示样式  可以提示错误信息 可以使用jq 自带的属性改变错误的显示的位置,其中element是验证未通过的当前表单元素,error为错误后的提示信息 [注意]:放的位 ...

  9. jquery.validate验证text,checkbox,radio,selected

    index.cshtml <form id="formLogin" method="post"> <div> <label for ...

随机推荐

  1. 理解Golang包导入

    Golang使用包(package)这种语法元素来组织源码,所有语法可见性均定义在package这个级别,与Java .python等语言相比,这算不上什么创新,但与C传统的include相比,则是显 ...

  2. es-04-mapping和setting的建立

    mapping和setting, 使用java客户端比较难组装, 可以使用python或者scala 这儿直接在kibana中进行DSL创建 1, mapping 创建索引的时候, 可以事先对数据进行 ...

  3. mysql数据库中实现内连接、左连接、右连接

    原文:http://www.cnblogs.com/xwdreamer/archive/2010/12/15/2297058.html 内连接:把两个表中数据对应的数据查出来 外连接:以某个表为基础把 ...

  4. django2.1---后台管理 admin 字段内容过长,省略号替代

    用django admin做后台的时候, 有些字段内容太长,像文章,长评论,新闻等可以限制显示长度,超出部分用...代替 1.在model.py中 def short_content(self): i ...

  5. Java 获取系统时间

    1. Date类 Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss&q ...

  6. [android] 切换按钮-自定义控件

    准备两张图片,按钮背景,上面的小开关 创建一个类MyToggleBtn,继承View 实现三个构造方法,传递上下文, 实现构造方法,传递Context对象,在java代码中实例化时主要使用这个 实现构 ...

  7. oracle的学习笔记(转)

    Oracle的介绍 1. Oracle的创始人----拉里•埃里森 2. oracle的安装 [连接Oracle步骤](](https://img2018.cnblogs.com/blog/12245 ...

  8. Java - 数组解析

    java提高篇(十八)-----数组之一:认识JAVA数组 一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸 ...

  9. POJ2227(优先队列)

    The Wedding Juicer Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3440   Accepted: 155 ...

  10. 如何启动一个Vue3.x项目

    1. 安装node.js 2. cd到项目目录下 3. npm run serve Node.js下载与安装(npm) Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运 ...