Я начинаю с angularJS, и я хочу проверить, существует ли электронное письмо, введенное в форму, или нет. для этого я буду использовать RESTto для связи withe back_end.Мой проблемой является: как проверить электронную почту перед отправкой формы с директивой и отобразить сообщение об ошибке, если письмо уже используется.проверка электронной почты уже используется или нет angularjs
<form name="registrationForm">
<div>
<label>Email</label>
<input type="email" name="email" class="form-group"
ng-model="registration.user.email"
ng-pattern="/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,8})$/"
required compare-to="registration.user.email"
/>
модель
demoApp.directive('existTo', [function() {
return {
require: "ngModel",
scope: {
otherModelValue: "=existTo"
},
link: function(scope, element, attributes, ngModel) {
ngModel.$validators.existTo = function(modelValue) {
return modelValue == scope.otherModelValue;
};
scope.$watch("otherModelValue", function() {
ngModel.$validate();
});
}
}; }]);
back_end CheckMail: контроллер
demoApp.controller('signupCtrl',function($scope,$http) {
$scope.verficationEmail = function(mail) {
$scope.test = mail;
var urll="";
var test="";
$scope.urll="http://localhost:8080/app/personne/verifmail?msg=";
$scope.aplrest=$scope.urll+$scope.test;
var ch3=$scope.aplrest;
$http.post(ch3).
success(function(respons) {
$scope.data = respons;
$scope.valid = respons.valid;
if ($scope.valid == "false") {
$scope.msgalert="mail used";
}
})
};});
спасибо заранее за помощь
и распечатать сообщение об ошибке - это то, что true почта уже существует. спасибо за вашу помощь – mrmadou
Я использую ваше решение, и у меня эта проблема деффед не определена, пожалуйста, можете ли вы мне помочь? – mrmadou
Его простая опечатка в директиве. 'deffered.promise' в операторе return должен быть' отложен. Я обновил. – jsonmurphy