La validación predeterminada para el formulario que tengo funciona como se esperaba. Pero cuando un usuario ingresa una dirección de correo electrónico válida y una contraseña de tres caracteres como mínimo, eso no significa que las credenciales de inicio de sesión sean válidas.Formulario de validación del lado del servidor Angular.js
Así que mi pregunta es ¿cómo puedo configurar el modelo ' de correo electrónico' y 'contraseña ' a inválido después validación del lado del servidor, por lo que los campos de entrada-ng obtener la inválido clase en lugar de ng- válido.
Mi código actual:
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('/');
}
});
};
}
Cualquier ayuda es bienvenida y muy apreciada. ¡Gracias por adelantado!
¿Puede simplemente utilizar $ setValidity método? – Tosh
Totalmente no relacionado, pero configuro el código de estado en 400 cuando mis llamadas AJAX devuelven errores. De esta forma, no es necesario que compruebe o configure 'data.success', sino que simplemente maneje los errores en la devolución de llamada de error. – DanH