【发布时间】:2011-01-24 22:18:24
【问题描述】:
我正在使用 jquery 验证插件,并希望使用 errorPlacement 函数将错误消息添加到字段标题属性并在字段旁边显示一个✘。
当使用提交按钮提交表单但触发以下任何事件时,这非常有用: - onfocusout - 点击 - onkeyup
验证检查已运行,但它会跳过 errorPlacement 函数并在字段后添加完整的错误消息,就像默认行为一样。
我正在使用以下代码:
$("#send-mail").validate({
debug: true,
// set this class to error-labels to indicate valid fields
success: function(label) {
// set text as tick
label.html("✔").addClass("valid");
},
// the errorPlacement has to take the table layout into account
errorPlacement: function(error, element) {
console.log("errorPlacement called for "+element.attr("name")+" field");
// check for blank/success error
if(error.text() == "")
{
// remove field title/error message from element
element.attr("title", "");
console.log("error check passed");
}
else
{
// get error message
var message = error.text();
// set as element title
element.attr("title", message);
// clear error html and add cross glyph
error.html("✘");
console.log("error check failed: "+message);
}
// add error label after form element
error.insertAfter(element);
},
ignoreTitle: true,
errorClass: "invalid"
});
【问题讨论】:
标签: javascript jquery forms validation