Ich habe ein Registrierungsformular, das Client-Seite validiert, die gut funktioniert. Meine App hat auch eine serverseitige Validierung, die dem Client einen JSON mit Fehlern für jedes Feld zurückgibt.Wie asynchron Formular in Angular nach dem Senden validieren?
Ich versuche, sie so zu handhaben:
// errors = {
// "username": [
// "Account '[email protected]' already exist!"
// ]
// };
for(var field in errors) {
$scope.RegForm.$setValidity(field, false);
$scope.RegForm[field].$error.server = errors[field].join('\n');
}
Das Problem ist, dass Fehler sichtbar bleiben, auch wenn ich Feld ändern. Ich muss die Gültigkeit zurück auf wahr setzen und Serverfehler in einem Moment entfernen. Nur nicht sicher wie und wann.
Wie behandelt man Serverdaten richtig, um sie zu ändern? $ asyncValidators wird nicht funktionieren, weil ich im Falle von Benutzername nicht erlaubt bin, Benutzer zu registrieren, nur um zu sehen, ob dieser Benutzername frei ist.
Vielleicht sollten Sie '$ Umfang. Anwenden $()' nach Variablen Bearbeitung. – morels
@ morels warum? Was wird es tun? – Bunyk
Kann diese ähnliche SO-Post hilfreich finden http://StackOverflow.com/Questions/16168355/angularjs-Server-Side-validation-and-Client-Side-Formen – Aarati