Дополнительно
пароль-проверьте директивы в AngularJS
Я'м пишу пароль проверьте директиву :
Directives.directive("passwordVerify",function(){
return {
require:"ngModel",
link: function(scope,element,attrs,ctrl){
ctrl.$parsers.unshift(function(viewValue){
var origin = scope.$eval(attrs["passwordVerify"]);
if(origin!==viewValue){
ctrl.$setValidity("passwordVerify",false);
return undefined;
}else{
ctrl.$setValidity("passwordVerify",true);
return viewValue;
}
});
}
};
});
HTML-код :
<input data-ng-model='user.password' type="password" name='password' placeholder='password' required>
<input data-ng-model='user.password_verify' type="password" name='confirm_password' placeholder='confirm password' required data-password-verify="user.password">
Даны 2 поля для пароля в форме, если оба значения паролей равны, то поле влияет директива действует. Вопрос в том, что он работает в одну сторону (т. е. когда я введите пароль в поле Пароль-проверить поля). Однако, когда исходное поле Пароль обновляется, пароль-проверьте, не'т действовать.
Любая идея, как я могу иметь и"два пути привязки проверить?&и"
76
24
Я использую следующую директиву, потому что я хочу, чтобы повторно проверить оба поля ввода, независимо от того, значение 1 или значение 2 был изменен:
директивы:
использование
Создание отдельной директивы для этого не нужны. Есть уже построить в инструмент угловая проверки пользовательского интерфейса пароль. С этим вы могли бы сделать:
Это должно решить:
Вид:
Еще один взять на это в соответствии с Модель одно входное значение другого входа.
Так, если модели в поле пароль логин.пароль можно установить следующие атрибуты на поле проверка:
ПХ-равны="от входа.пароль" и
, и тест наимя_формы.elemName.$ошибка.nxEqual
. Вот так:Расширенная версия:
Для нового проекта я должен был изменить в вышеупомянутой директиве, так что он будет отображать только
nxEqual
ошибка только тогда, когда, входного контроля имело значения. В противном случаеnxEqual
ошибка должна быть приглушенной. Вот Расширенная версия:И вы будете использовать его вот так:
Попробуйте это: http://jsfiddle.net/gUSZS/
Я сделал это без директивы.
https://github.com/wongatech/angular-confirm-field хороший проект для этого.
Пример здесь http://wongatech.github.io/angular-confirm-field/
Приведенный ниже код показывает 2 поля ввода с реализованного функционала
В качестве угловых 1.3.0-beta12, недопустимые входы Дон'т писать в ngModel, так что вы можете'т смотреть, а затем проверить, как вы можете видеть здесь: http://plnkr.co/edit/W6AFHF308nyKVMQ9vomw?p=preview. Была введена новая валидаторы производство и вы можете присоединить к этому, чтобы достичь того же.
Собственно, на этой ноте я'вэ, созданных компонент беседки для общих дополнительных валидаторов: https://github.com/intellix/angular-validators что включает в себя это.
Я'вэ использовал эту директиву с успехом до:
Использование ##
Я имел дело с той же проблемой и нашел хороший блог об этом написал Петр Буда. Это'ы хорошо читать и объясняет процесс очень хорошо. Код выглядит следующим образом:
Так что вы могли бы сделать что-то вроде:
Заслуга автора
Это не достаточно хорошо:
Простой, и работает хорошо для меня.
В целях проверки форма с полем ввода,я нахожу наиболее подходящим способом Директива ##
В HTML
Это решение аналогично приведенному Доминик Уотсон, которая использует $валидаторы и это мне больше всего нравится. Единственные изменения заключаются в том, что вы можете смотреть выражение.
и GT; $валидаторы коллекцию валидаторов, которые применяются всякий раз, когда
от https://code.angularjs.org/1.3.15/docs/api/ng/type/ngModel.NgModelController
Я'м с помощью угловых 1.3. Моя директива выглядит следующим образом
Чтобы использовать его
Не директивы, решения, но это работает для меня:
И в контроллере:
http://plnkr.co/edit/QDTnipCsHdg56vgygsqC?p=preview
Это работает в обе стороны и это простой и чистый
Язык JavaScript
HTML-код: обратите внимание на директиву матч
Вы можете клонировать РЕПО с этим примером https://github.com/rogithub/roangularjs
Ниже мой взгляд на проблему. Эта директива будет сравниваться значение форма, а не объем.
в HTML теперь относится к форме, а не определенного значения:
Для добавления большого количества уже существующих решений, это работает хорошо для меня.
(Января Laussmann ответ перестал работать с последним в AngularJS бета-релизы).
директивы:
использование
ошибка отображения
Этот работал для меня.
Директивы:
HTML-код:
У меня была такая же проблема, когда я пытаюсь построить свою собственную директиву, и я исправил это
где Ctrl-это мой ngModelController
это мое мнение
это моя директива
Держать его просто и тупо принципе(поцелуй) может быть полезным на этом. Его быстрее и проще, чтобы проверить, если оба пароля совпадают, выполнив следующие действия:
И перед отправкой формы, вы можете сделать это в ваших JS
Вы можете протестировать его в [JSfiddle][1], а также.