Я создаю директиву удаленной проверки, которая позволяет мне проверять с моим сервером, если поле проверено.Как создать директиву для проверки формы удаленно?
До сих пор у меня есть это:
angular.module('Form').directive('remoteFieldValidation', function (Query) {
return {
restrict: 'A',
scope: {
fieldValue: '=ngModel'
},
link: function (scope, element, attr) {
element.parent().addClass('has-feedback');
element.focusout(function (value) {
var value = scope.fieldValue;
var checker = attr.remoteFieldValidation;
if (value && checker) {
element.parent().append('<span class="form-control-feedback fa fa-spinner fa-spin" style="line-height: 35px"></span>');
Query.api2({
method: 'GET',
route: 'validateField',
params: {
value: value,
checker: checker
}
}).then(function (result) {
})
}
else {
console.log('Missing checker or value');
}
})
}
}
});
Для оформления запроса моя собственная служба API в основном контролирует $http requests
.
Теперь, когда я добавляю эту директиву атрибута в поле ввода, я хотел бы убедиться, что как только он начнет проверку, он устанавливает форму как недействительную.
Однако я не совсем уверен, как достичь формы из этой директивы.
Кто-нибудь знает, как я могу это сделать, чтобы пользователи не отправили форму до проверки удаленной проверки?
Вы можете прочитать о том, как реализовать асинхронную валидатор здесь: http://jaysoo.ca/2014/10/14/async-form-errors-and-messages-in- angularjs/ – Icycool