angularjs: пользовательская директива для проверки существования имени пользователя
У меня есть форма регистрации с именем пользователя в текстовом поле. Я хочу сделать, когда пользователь вводит имя пользователя, пользовательская директива проверит, существует ли введенное имя пользователя в базе данных.
directives.js
angular.module('installApp').directive('pwCheck', function ($http) {
return {
require: 'ngModel',
link: function (scope, elem, attrs, ctrl) {
elem.on('blur', function (evt) {
scope.$apply(function () {
$http({
method: 'GET',
url: '../api/v1/users',
data: {
username:elem.val(),
dbField:attrs.ngUnique
}
}).success(function(data, status, headers, config) {
ctrl.$setValidity('unique', data.status);
});
});
});
}
}
});
Если он существует, мойdiv class = "invalid"
будет отображаться в форме HTML с меткой «Имя пользователя уже существует».
registration.html
<form name = "signupform">
<label>{{label.username}}</label>
<input type="text" id = "username" name = "username" ng-model="user.username" class="form-control"></input>
<div class="invalid" ng-show="signupform.username.$dirty && signupform.username.$invalid"><span ng-show="signupform.username.$error.unique">Username already exists.</span>
</div>
</form>
Но сейчас они не работают :-(, я делаю правильно? Пожалуйста, посоветуйте или предложите мне то, что я должен сделать. Заранее спасибо.