Вопрос в этом. Как я могу вернуть результат функции (ответа) в ngModel. $ AsyncValidators.usernameAvailable. URL-адрес, указанный в $ http.get, возвращает true, если пользователь существует и false, если нет. Постскриптум response.data возвращает правильный ответ, я проверил.
app.directive('usernameAvailableValidator',['$http', function($http){
return{
restrict : 'A',
require : 'ngModel',
link : function(scope, element, attrs, ngModel){
ngModel.$asyncValidators.usernameAvailable = function(username){
return $http.get('/auth/username/exists/'+username).
then(function(response){return response.data});
};
}
}
}])
хорошего ответа, но не нужно явно разрешить и при силе? – danday74
@ danday74 Обещание в любом случае разрешается, если вы не делаете этого явно. Однако с неопределенным значением, но это не важно для этого валидатора. – dfsq
ah Я вижу, возвращая вызов службы $ http, по которому вы возвращаете обещание, которое разрешается при завершении запроса $ http. – danday74