2013-03-13 5 views
2

У меня есть директива пользовательских проверок, что я приписываемая формаУгловая Пользовательская форма проверки и директивы

<form myValidations> 

app.directive('myValidations', function(){ 
return{ 
    //require: 'ngModel', note its commented out 

    link: function(s,e,a,ctrl){//note the emphasis on the ctrl 


    } 
} 
}); 

теперь, как бы я это сцепление Упр $ парсеры, если у меня нет «требует:. NgModel «сделать это для меня.

Могу ли я найти элемент, а затем вызвать его ng-модель в некоторой функции, чтобы вернуть ng-model-controller? так что я могу парсеров # $ оттуда?

+0

Вы можете предоставить jsfiddle своим соответствующим кодом? – odiseo

ответ

4

Отвечая на ваш вопрос, вы можете позвонить по телефону angular.element('elementSelector').controller('ngModel'). Он вернет ngModel так же, как и require.

Вопрос: Если вы создаете новую директиву, почему бы не использовать ее требуемую функцию? Есть большие шансы, что вы не используете правильное решение для своей проблемы. Таким образом, немного больше кода даст нам возможность еще глубже рассказать о вашем вопросе.

+0

Спасибо, ты классный, ну, мне нужно содержать все внутри одной директивы валидатора, и поэтому мне нужно будет выполнять $ parsers на множестве ng-моделей, поэтому я бы предположил, что может выполнять только .controller на всей формы, к которой я приписывал директиву. Благодарю. – user2167582

+0

Учитывает ли ваша валидация все поля вместе? Или это одинаково для всех полей отдельно? В первом случае вы можете создать директиву, применяемую к 'form', и использовать свойство name (http://docs.angularjs.org/api/ng.directive:form), чтобы выставить все элементы управления для детей. Для последнего вы можете создать агностическую директиву, которая добавляет ['$ parser'] (http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController) к элементу, к которому он относится. –

+0

отдельно, я проверяю отдельные входы, которым необходим контроллер самостоятельно. Для этой задачи мне было предложено прописать всю проверку в одну директиву. – user2167582

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