我在我的简单指令中使用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 :(得分:1)
确保您已将指令放在表单中,并且至少有一个带有ng-model指令的输入。
<form>
<input type="text" ng-model="name" required />
<error-wall></error-wall>
</form>
这是一个工作小提琴https://jsfiddle.net/3gv8nvL3/3/,需要输入一个表格。