Использование угловой формы в шаблоне директивы

0

Я использую require: '^form' в моей простой директиве.

Затем я пытаюсь использовать эту форму в ng-show, но, похоже, это не работает.

Примечание. Я не хочу передавать имя формы в качестве атрибута.

Может ли кто-нибудь увидеть, где я ошибаюсь? Я хочу, чтобы сообщение отображалось только в том случае, если форма недействительна.

angular.module('xxx').directive('errorWall', errorWall);

function errorWall() {
    return {
        restrict: 'E',
        require: '^form',
        scope: {},
        link: (scope, elm, attrs, frm) => {
            scope.formCtrl = frm;
        },
        template: '<div ng-show="formCtrl.$invalid">You have error messages.</div>'
    };
}
  • 0
    Что вы видите, когда ставите точку останова в функции ссылки?
Теги:
angularjs-directive

1 ответ

1
Лучший ответ

Убедитесь, что вы разместили директиву внутри формы, по крайней мере, с одним вводом с директивой ng-model.

<form>
  <input type="text" ng-model="name" required />
  <error-wall></error-wall> 
</form>

Здесь рабочий скрипт https://jsfiddle.net/3gv8nvL3/3/ с одной формой требует ввода.

  • 0
    Спасибо, у меня было это в форме, но теперь кажется, что используемая мной структура проверки влияла на результат. Ценю твою помощь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню