我目前在我的网页上的灯箱框架中有一个表单。当用户使用无效数据提交表单时,会出现一个div,其中包含表单顶部的表单错误列表。问题是:我需要某种jQuery验证回调来在错误div出现后调整灯箱的大小。据我所知,没有办法用jQuery灯箱做到这一点。
答案 0 :(得分:19)
您提供无效的回调函数,您可以找到documented here,如此
$(".selector").validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
//resize code goes here
}
}
})
答案 1 :(得分:3)
或者,您可以使用errorPlacement回调函数来处理验证失败的特定元素。例如,下面的代码使用errorPlacement回调将每个无效表单元素的父div标记的类设置为“error”,然后在元素通过验证后删除“error”类:
form.validate({
rules: {
Name: {
required: true
},
Email: {
required: true
, regex: "^[0-9a-zA-Z.+_\-]+@{1}[0-9a-zA-Z.+_\-]+\\.+[a-zA-Z]{2,4}$"
}
},
messages: {
Name: {
required: "Please give us your name"
},
Email: {
regex: "Please enter a valid email address"
}
},
errorPlacement: function(error, element) {
element.parent().addClass("error");
},
success: function(element) {
$("#" + element.attr("for")).parent().removeClass("error");
}
});