2013-03-25 4 views
29

Я пытаюсь использовать $setValidity на элементе в директиве. Все примеры, которые я нашел, похоже, устанавливают его на контроллер ...

Я разработал скрипт JS для проверки формы и попробовал кучу вещей. Любые идеи будут наиболее высоко: http://jsfiddle.net/thomporter/pmKpG/2/

В скрипку, то $setValidity называется на контроллере:

ctrl.$setValidity('pwd', true); 

Я хотел бы сделать что-то вроде:

elm.$setValidity('pwd', true); 

так, что в форме я могу сделать что-то вроде:

ng-class="{error:form.password.$error.pwd}" 

ответ

60

Я понял это ... У вас должно быть имя на входных элементах. Как только я добавил имя, ошибки автоматически привязывались к элементам по желанию, никаких дополнительных изменений не требовалось!

<input ng-model="password" 
     name="inputPassword" 
     class="immediate-help" 
     password-validate 
     required 
     type="password" 
     id="inputPassword" 
     placeholder="Password"> 

http://jsfiddle.net/thomporter/pmKpG/4/

+27

избежать комментариев, как +1 или благодаря? ни за что. благодаря! –

+2

@Thom Porter, Почему вы возвращаете undefined вместо ложной строки 22 (http://jsfiddle.net/thomporter/pmKpG/4/)? – MaximeBernard

+3

Плюс один для ответа на ваш собственный вопрос - и поделитесь с другими – Mawg

Смежные вопросы