Я создаю проверку формы, и она становится слишком уродливой и тяжелой из-за слишком большого количества полей, которые необходимо проверить. Мне нужно его оптимизировать. Таким образом, я требую любое поле, основанное на других значениях полей, используя ng-required. Когда пользователь вставляет значение в одно из полей, остальные из них теряют требуемое качество и форма становится действительной. Так, что я создал выражение вроде этого:Проверка формы. Оптимизировать Угловое ng-необходимое выражение
<input ng-model="field.one" ng-required="
!field.two &&
!field.three &&
!field.four &&
!field.five &&
!field.six &&
... &&
!filed.twenty"/>
<input ng-model="field.two" ng-required="
!field.one &&
!field.three &&
!field.four &&
!field.five &&
!field.six &&
... &&
!filed.twenty"/>
Итак, я намерен перенести требуемое выражение в контроллере или где вы думаете, он должен быть перемещен в целях оптимизации и организации кода. Я собирался инкапсулировать его в функцию внутри контроллера, но мне это не удалось. Я пробовал что-то вроде этого:
VIEW
<input ng-model="field.one" ng-required="myFunc(field.one)"/>
CTRL
$scope.myFunc = function(modelField){
anything I tried in this fn I didn't make it to work syncronized with
the field models, updating their models based on user interaction :)
}
Пожалуйста, есть ли у кого-то идеал, как это сделать? Благодарю.
Thank, в хорошо у вас на форуме и умное решение КСТАТИ! – Webdesigner
Есть ли способ переместить эту функциональность в директиве, чтобы поддерживать очистку контроллера? Или такие типы mehtods должны оставаться на контроллере? Благодарю. – Webdesigner
Да, это было бы возможно, и это была моя первоначальная мысль. (Я думал, что лучше избегать изменения ng на каждом входе). Проверьте этот плункер для моей требуемой директивы. http://plnkr.co/edit/khnLGtarAlcQiLzBZiOP?p=preview. Пока новая директива не создает новую область видимости, одна и та же переменная может использоваться совместно. – Bharat