在指令模板中使用角形式

时间:2016-05-18 15:48:10

标签: javascript angularjs angularjs-directive

我在我的简单指令中使用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>'
    };
}

1 个答案:

答案 0 :(得分:1)

确保您已将指令放在表单中,并且至少有一个带有ng-model指令的输入。

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

这是一个工作小提琴https://jsfiddle.net/3gv8nvL3/3/,需要输入一个表格。