好长时间没有用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("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();
- }
- }
- });
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();
}
}
});
在上面的代码中,我并没有添加错误信息存放位置的方法,我们看一下效果
- <td>
- <input type="text" maxlength="30" value="" id="name" name="name">
- <label for="name" generated="true">请输入命令名</label> //错误信息会自动根在输入框的后面。
- </td>
<td>
<input type="text" maxlength="30" value="" id="name" name="name">
<label for="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("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();
- }
- }
- });
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();
}
}
});
来看一下效果
- <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>
<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>
够简单吧,在简单的东西,长时间不用也会忘的。