好长时间没有用jquery.validate.js这个插件了,忘得差不多了。唉,好东西还是要经常拿出来看看的,今天用jquery.validate来做一个小东西,遇到一个问题,就是错误提示信息的位置问题,如果知道的话,很简单。以前遇到过,可是忘了,现在标记一下,将来在忘了,在回过头看看。俗话说的好,好记性不如烂笔头。
举个例子,大家就知道怎么回事了。
- 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("errorchecked");
- },
- 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();
- }
- }
- });
在上面的代码中,我并没有添加错误信息存放位置的方法,我们看一下效果
- <td>
- <inputtype="text"maxlength="30"value=""id="name"name="name">
- <labelfor="name"generated="true">请输入命令名</label>//错误信息会自动根在输入框的后面。
- </td>
如果我们加上错误信息位置的方法errorPlacement来看一下效果是什么样子的。
- 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("errorchecked");
- },
- 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();
- }
- }
- });
来看一下效果
- <tr>
- <th><labelfor="name"id="lname"><codetitle="必填">*</code>命令名称</label></th>
- <td><inputtype="text"maxlength="30"value=""id="name"name="name"></td>
- <td><labelfor="name"generated="true">请输入命令名</label></td>//错误信息跑到这儿来了,
- </tr>
够简单吧,在简单的东西,长时间不用也会忘的。