Ich versuche, Validation plugin arbeiten zu lassen. Es funktioniert gut für einzelne Felder, aber wenn ich versuche, den Demo-Code für den Fehlercontainer aufzunehmen, der alle Fehler enthält, habe ich ein Problem. Das Problem ist, dass es den Container mit allen Fehlern zeigt, wenn ich in allen Feldern bin, aber ich möchte den Fehlercontainer nur anzeigen, wenn der Benutzer den Übergabeknopf drückt (aber immer noch Inline-Fehler neben dem Steuerelement zeigt, wenn der Fokus verloren geht).Wie wird der jQuery-Validierungsfehlercontainer nur beim Senden angezeigt?
Das Problem ist die Nachricht im Container. Als ich den Code, wie in der Antwort unten für den Container erwähnt, entfernt habe, zeigt die Containerausgabe nur die Anzahl der Fehler im Klartext an.
Was ist der Trick, um eine Liste detaillierter Fehlermeldungen zu erhalten? Was ich möchte, ist "ERROR" neben dem Steuerelement in Fehler anzuzeigen, wenn der Benutzer die Tabulatortaste drückt, und eine Zusammenfassung von allem am Ende, wenn er auf Senden drückt. Ist das möglich?
Code mit allen Eingaben von hier:
$().ready(function() {
var container = $('div.containererreurtotal');
// validate signup form on keyup and submit
$("#frmEnregistrer").bind("invalid-form.validate", function(e, validator) {
var err = validator.numberOfInvalids();
if (err) {
container.html("THERE ARE "+ err + " ERRORS IN THE FORM")
container.show();
} else {
container.hide();
}
}).validate({
rules: {
nickname_in: {
required: true,
minLength: 4
},
prenom_in: {
required: true,
minLength: 4
},
nom_in: {
required: true,
minLength: 4
},
password_in: {
required: true,
minLength: 4
},
courriel_in: {
required: true,
email: true
},
userdigit: {
required: true
}
},
messages: {
nickname_in: "ERROR",
prenom_in: "ERROR",
nom_in: "ERROR",
password_in: "ERROR",
courriel_in: "ERROR",
userdigit: "ERROR"
}
,errorPlacement: function(error, element){
container.append(error.clone());
error.insertAfter(element);
}
});
});
Funktioniert nicht, denn wenn der Fehler entfernt wird, bleibt der Fehler im Container noch dort. Aber du hast mir einen guten Input gegeben ... +1 –