Ich verwende das jquery-Validierungs-Plugin und möchte die errorPlacement-Funktion verwenden, um Fehlermeldungen zum Feld title attribute hinzuzufügen und nur ein ✘ neben dem Feld anzuzeigen.jQuery-Validierungs-Plugin: Rufen Sie die errorPlacement-Funktion auf, wenn onfocusout, keyup und click
Dies funktioniert gut, wenn das Formular mit dem Absenden-Button vorgelegt wird aber, wenn eines der folgenden Ereignisse ausgelöst werden: - onfocusout - klicken - onkeyup
Die Validierungsprüfungen ausgeführt werden, aber es überspringt die errorPlacement Funktion und fügt die vollständige Fehlermeldung nach dem Feld hinzu, wie das Standardverhalten.
Ich verwende den folgenden Code ein:
$("#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"
});
geholfen ........ :) –