好长时间没有用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. linux比较文件夹的差异命令

    可以使用 diff -ruNa s1 s2 或者使用 diff -uN c1 c2 结果如下: sandbox$ tree . |-- dir1 | |-- a.txt | `-- b.txt `-- ...

  2. mysqldump 用法

    mysqldump 是文本备份还是二进制备份 它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象.它也有 insert 语句来使用数据构成表. mysqldump 的语法是什 ...

  3. Go常量与运算符

    常量的定义 常量的值在编译时就已经确定 常量的定义格式与变量基本相同 等号右侧必须是常量或者常量表达式 常量表达式中的函数必须是内置函数 package main import ( "fmt ...

  4. Huffman树与编码

    带权路径最小的二叉树称为最优二叉树或Huffman(哈夫曼树). Huffman树的构造 将节点的权值存入数组中,由数组开始构造Huffman树.初始化指针数组,指针指向含有权值的孤立节点. b = ...

  5. 并发编程之 ConcurrentLinkedQueue 源码剖析

    前言 今天我们继续分析 java 并发包的源码,今天的主角是谁呢?ConcurrentLinkedQueue,上次我们分析了并发下 ArrayList 的替代 CopyOnWriteArrayList ...

  6. 未能找到路径E:\项目文件\W\vbc.exe”的一部分

    网上找的说要引用Microsoft.CodeDom.Providers.DotNetCompilerPlatform, 我已经引用了,是差roslyn文件夹,从别的项目考一份过来就好了

  7. LINQ 图解 LINQ学习第三篇

    LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...

  8. C++ 小知识点 WINAPI

    int WINAPI WINMain 中,WINAPI含义 网友给出回答:在windef.h头文件中有如下定义#define WINAPI      __stdcall#define APIENTRY ...

  9. Oracle空表导出

    执行: Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 执行该命令后产 ...

  10. Hashmat the brave warrior(UVa10055)简单题

    Problem A Hashmat the brave warrior Input: standard input Output: standard output Hashmat is a brave ...