使用下面自定显示错误方法好处:使用class方式,可以支持多个控件的错误显示同一个span上;如上图
----------------------
/**
*自定默认检测提示语言
*/
jQuery.extend(
jQuery.validator, {
messages:{
required: "不允许留空",
remote: "请修改此栏目",
email: "错误邮件格式",
url: "错误格式网址",
date: "错误格式日期",
dateISO: "错误ISO格式日期",
number: "必须是数字",
digits: "必须是整数",
creditcard: "错误格式信用卡号",
equalTo: "二次输入不一致",
accept: "不允许的文件类型",
maxlength: jQuery.validator.format("字符个数不能超过 {0}"),
minlength: jQuery.validator.format("字符个数不能少于 {0}"),
rangelength: jQuery.validator.format("只能输入{0} 和 {1} 之间字符"),
range: jQuery.validator.format("只能输入 {0} 和 {1} 之间的数字"),
max: jQuery.validator.format("数字不能大于 {0}"),
min: jQuery.validator.format("数字必须大于 {0}")
}
}
);
/**
*自定默认检测提示语言
*/
jQuery.extend(
jQuery.validator.defaults, {
errorPlacement:function(error, element) {//自定错误显示对象
var formId = element[0].form ? element[0].form.id : null;
if (! formId){
return alert('form对象必须增加ID属性');
}
var tipClass = element[0].name + 'ERR';
var tipObj = $('#' + formId + ' .' + tipClass);
if (! tipObj.length){
return alert('在form找不到出错提示对象: <span class=' + tipClass + '></span>,需要增加');
}else{
error.appendTo( tipObj );
}
}
}
);
/**
*自定方法,必须放在上面代码后面,否则在调用时不设置messages时会提示:Warning: No message defined for user
*/
jQuery.validator.addMethod("userName", function(value, element) {
return this.optional(element) || /^\w*$/.test(value);
}, "用户名只允许使用字母和数字");