好长时间没有用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. maven-compiler-plugin 指定jdk的版本和编码

    为了让maven的jdk编译版本一致, 使用maven-compiler-plugin插件来协助管理 建议新建maven项目后的第一步就是配置该插件 <build> <plugins ...

  2. 技术笔记2 jetty jboss

    jetty热部署: jetty启动加载文件webdefault.xml .文件里: <init-param> <param-name>useFileMappedBuffer&l ...

  3. WIN32控件使用系统样式

    定义如下即可: #ifdef _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Mi ...

  4. Navicat创建视图与美化SQL

    数据库-->视图-->新建视图,点击视图创建工具,将需要用到的表拖入到右侧,然后再底部填写具体的字段等,示意图如下: 注意:视图的字段别名或者列名是不能重复的,否则创建失败: 当视图语句非 ...

  5. NYOJ 1013 除法表达式(欧几里德算法+唯一分解定理)

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1013 描述 给出一个这样的除法表达式:X1/X2/X3/···/Xk,其中Xi是 ...

  6. JS中for循环变量作用域--解决for循环异步执行的问题

    被这个问题困惑了很久,终于在网上找到了答案,感谢~ 现在分享给大家~ js中如何让一个for循环走完之后,再去执行下面的语句? 这涉及for循环变量作用域的问题,js中作用域只有函数作用域和全局作用域 ...

  7. [转]解决ssh登录后闲置时间过长而断开连接

    本文转自: 转载自博客园wanghetao的博客 我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,总结一下解决此问题的方法 方法一 修改/ ...

  8. Linux下安装SQL Server 2016(连接篇SQL Server on linux)

    连接数据库 (1)设置防火墙 要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效. [root@localhost Desktop]# firewal ...

  9. C# Hadoop学习笔记(二)—架构原理

    一,架构   二.名词解释 (一)NameNode(简称NN),Hadoop的主节点,负责侦听节点是否活跃,对外开放接口等.在未来的大数据处理过程中,由于访问量和节点数量的不断增多,需要该节点的处理能 ...

  10. 【游记】CCHO TY国初划水记

    没想到第一篇游记竟然是化学国初(其实是上次SXACM时候懒得写 DAY0 一下午做了5个小时的校车,服务区水真贵 肝了4个小时模拟题,颠到崩溃. 下榻在距离山大附不远的一个酒店,高三人好多哇,我们年级 ...