好长时间没有用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. tomcat 调优-生产环境必备

    目录 1. tomcat 启动慢 1.1 tomcat 获取随机值阻塞 1.2 tomcat 需要部署的web应用程序太多 1.3 tomcat启动内存不足 2 Connector 调优 2.2 Co ...

  2. zk特性和场景

    zk解决什么问题 分布式一致性问题 一致性一般定义是分布式系统中状态或数据保持同步和一致.实际上就是围绕着“看见”来的.谁能看见?能否看见?什么时候看见? 举个例子:淘宝后台卖家,在后台上架一件大促的 ...

  3. 复刻smartbits的国产网络测试工具minismb功能特点-如何加载、发送PCAP数据包

    复刻smartbits的网络性能测试工具minismb,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太网测试工具测试任何ip网络设备的端口吞吐率,带宽,并发 ...

  4. linux编译找不到aprt apr-util

    Linux很多地方编译的时候都会用到apr 如果找不到apr就会报错 configure: WARNING: APR not found The Apache Portable Runtime (AP ...

  5. C# 枚举器和迭代器

    一.枚举器(enumerator)和可枚举类型(enumeration) 我们都知道foreach语句可以用来遍历数组中的元素,但你有没有想过为什么它可以被foreach处理呢? 这是因为数组可以按需 ...

  6. 局域网内客户端无法使用机器名连接SQLServer服务器

    在生产环境中有时会要求使用机器名连接SQLServer服务器,但有时捣好久都没法连上~ 针对这个问题做个简短记录,防止以后自己再遇到记不起原因,也方便一下其他同行! 废话不多说,作为工作多年的老家伙了 ...

  7. 当堆遇到STL 代码焕发光芒

    来自度娘的释义,堆的含义大概是这样的: 感性理解: 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称.堆通常是一个可以被看做一棵树的数组对象.堆总是满足下列性质: 堆中某个节点的值总是不大于 ...

  8. [android] 优酷环形菜单-相对布局练习

    优酷环形菜单 布局文件,使用<RelativeLayout/>控件作为第一级菜单,相对布局,位于父控件的底部,水平居中,因为图片不是特别的标准,因此宽度和高度都钉死,宽度是高度的两倍 二次 ...

  9. 使用Hibernate Validator来帮你做数据校验

    数据校验是贯穿所有应用程序层(从表示层到持久层)的常见任务.通常在每个层中实现相同的验证逻辑,这是耗时且容易出错的.这里我们可以使用Hibernate Validator来帮助我处理这项任务.对此,H ...

  10. 【转】classpath和环境变量设置

    http://www.360doc.com/content/12/0722/14/820209_225797366.shtml 在没有设置环境变量之前,我们可以通过直接在应用程序中加带相关信息来运行我 ...