Die Standardvalidierung für das Formular Ich habe wie erwartet funktioniert. Wenn ein Benutzer jedoch eine gültige E-Mail-Adresse und ein Passwort mit mindestens drei Zeichen eingibt, bedeutet dies nicht, dass die Anmeldedaten gültig sind.Serverseitige Validierungsform Angular.js
Also meine Frage ist, wie kann ich das Modell gesetzt ‚E-Mail‘ und ‚Passwort‘ ungültiger nach serverseitige Validierung, so dass die Eingabe-Felder erhalten die Klasse ng-ungültig statt ng- gültig.
Mein aktueller Code:
function IndexCtrl($scope, $http)
{
$scope.form = {};
$scope.submitLogin = function()
{
$http.post('/api/auth/login', $scope.form).success(function(data)
{
if (!data.success)
{
$scope.form.errors = [ data ];
// here I also want to mark the models 'email' and 'password' as invalid, so they both get the class 'ng-invalid'
}
else
{
$location.path('/');
}
});
};
}
Jede Hilfe ist willkommen und wirklich zu schätzen. Danke im Voraus!
Können Sie einfach $ setValidity Methode verwenden? – Tosh
Völlig nicht verwandt, aber ich setze Statuscode auf 400, wenn mein AJAX-Aufruf Fehler zurückgibt. Auf diese Weise müssen Sie "data.success" nicht überprüfen oder setzen, sondern nur Fehler im Fehlerrückruf behandeln. – DanH