Domyślne sprawdzanie poprawności formularza, które mam działa zgodnie z oczekiwaniami. Ale gdy użytkownik wpisze poprawny adres e-mail i hasło o długości co najmniej trzech znaków, nie oznacza to, że dane logowania są prawidłowe.Formularz weryfikacji po stronie serwera Angular.js
Więc moje pytanie brzmi: w jaki sposób mogę ustawić model „email” oraz „hasło” to nieważne po walidacji stronie serwera, więc input-pola uzyskać klasę ng-invalid zamiast ng- ważny.
Mój bieżący kod:
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('/');
}
});
};
}
Każda pomoc jest mile widziany i bardzo doceniane. Z góry dziękuję!
można po prostu użyć $ setValidity metoda? – Tosh
Całkowicie niepowiązanych, ale ustawiam kod statusu na 400, gdy moje wywołania AJAX zwracają błędy. W ten sposób nie musisz sprawdzać ani ustawiać 'data.success', ale zamiast tego radzisz sobie z błędami w wywołaniu błędu. – DanH