Xác thực hợp lệ mặc định cho biểu mẫu tôi có hoạt động như mong đợi. Nhưng khi người dùng nhập địa chỉ email hợp lệ và mật khẩu tối thiểu ba ký tự, điều đó không có nghĩa là thông tin đăng nhập hợp lệ.Biểu mẫu xác thực phía máy chủ Angular.js
Vì vậy, câu hỏi của tôi là làm thế nào tôi có thể thiết lập các mô hình 'email' và 'mật khẩu' để không hợp lệ sau server-side validation, vì vậy đầu vào-lĩnh vực được lớp ng-không hợp lệ thay vì ng- có hiệu lực.
mã hiện tại của tôi:
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('/');
}
});
};
}
Bất kỳ trợ giúp được hoan nghênh và thực sự đánh giá cao. Cảm ơn trước!
Bạn có thể chỉ cần sử dụng $ setValidity phương pháp? – Tosh
Hoàn toàn không liên quan, nhưng tôi đặt mã trạng thái là 400 khi cuộc gọi AJAX của tôi trả lại lỗi. Bằng cách này bạn không cần phải kiểm tra hoặc thiết lập 'data.success' mà thay vào đó chỉ xử lý các lỗi trong callback error. – DanH