2016-02-21 5 views
0

так полагаю, у меня есть форма: (? Или где-то еще, если это уместно)Угловая пользовательская форма элемента директива перед проверкой ngSubmit?

<form ng-submit="submitForm()"> 
    <custom-form-element><custom-form-element> 
    <button name="submit">Submit<button> 
<form> 

Есть ли вообще что-то делать с данным customFormElement является содержащим (предположим, что это своего рода настраиваемого поля) в link часть определения директивы для проверки/дезинфекции данных там до подачи формы?

Я не хочу делать это в функции submitForm(), потому что там может быть несколько элементов этого же элемента.

EDIT: может быть полезно сказать, что то, что я делаю, не является валидацией как таковой, но более похоже ... customFormElement изменяет определенное свойство в области видимости. например

$scope.customFormElementData = {}; 

Тогда прямо перед подачей она будет выглядеть следующим образом:

$scope.customFormElementData = { 
    foo: 'bar', 
    baz: 'quuz' 
}; 

Но то, что я хочу сделать, это в том случае, если:

$scope.customFormElementData = { 
    foo: '', 
    baz: '' 
} 

Я хочу, чтобы опустить как Foo и бар.

+0

Есть много учебников и документации по как использовать проверки валидатора формы с помощью контроллера ngModel – charlietfl

+0

вы можете связать один пример? Я, вероятно, просто искал неправильные вещи, но в основном я просто возвращаю результаты всей проверки формы. – aspin

ответ

0

Не вдаваясь в то, что вы пытаетесь достичь, это лучший подход, вы можете делать то, что вы имеете в виду, посредством трансляции событий.

Так что в вашем SubmitForm() функции:

$rootScope.$broadcast('aboutToSubmitForm'); 
$rootScope.$broadcast('submittingForm'); 

В контроллере:

$scope.$on('submittingForm', function() { //form submittal logic here }); 

Затем в функции связующей вашей директивы:

$scope.$on('aboutToSubmitForm', function(){ //your pre form submission logic here }); 
+0

Спасибо за ответ. Вы подразумеваете, что это не лучший подход, хотя верно? Позаботьтесь о том, что лучше всего? – aspin

+0

Я только сказал, что, поскольку вы получили комментарий об использовании стандартной методики валидации, но после того, как я дал ей больше подумать, я действительно не думаю, что это применимо здесь. Я думаю, что мой ответ - лучший способ справиться с этим. –

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