jQuery validation学习(3)只显示第一条错误信息的方法
只显示第一条错误信息的方法
使用groups的方法无法正确验证信息
还是使用了showErrors
要把失去焦点验证的设置成false,不然切换input的时候会出现错误
重点代码
onfocusout: false,
if (errorList.length) {
var s = errorList.shift();
var n = [];
n.push(s);
this.errorList = n;
} else {
$("#J-errorBox").removeClass('sl-error-display');
}
this.defaultShowErrors();
},
$("#login").validate({
debug: true,
errorElement: 'span',//errorElement 是错误信息显示的标签。默认显示为label,不是我要替换的位置的标签
onfocusout: false,
onkeyup: function (element, event) {
//去除左侧空格
var value = this.elementValue(element).replace(/^\s+/g, "");
$(element).val(value);
},
errorPlacement: function (error, element) {
error.appendTo($("#J-errorBox .sl-error-text"));//错误信息显示的位置
},
/*groups: {
logon: "logonId password"
},*/
rules: {
logonId: {
required: true
},
password: {
required: true
}
},
messages: {
logonId: {
required: "请输入账户名"
},
password: {
required: "请输入登录密码"
}
},
highlight: function () {
$("#J-errorBox").addClass('sl-error-display');//有错误信息时候为div添加 class
},
showErrors: function (errorMap, errorList) {
if (errorList.length) {
var s = errorList.shift();
var n = [];
n.push(s);
this.errorList = n;
} else {
$("#J-errorBox").removeClass('sl-error-display');//没有错误信息的时去掉class
}
this.defaultShowErrors();
},
submitHandler: function (form) {
},
invalidHandler: function (form) {
}
});