Я использую плагин проверки 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"
});