我有一个指令 barFoo,它具有以下模板:
<div>
....
<input ng-model="data">
</div>
该指令在表单内使用!现在,在这个指令中我想做这样的事情
element.find('input').$setValidity('bar-valid', false);
但是,这不起作用。此外,输入字段没有 name 属性。 有没有办法在没有“name”属性的情况下做到这一点?
更新:另一种解决方案是在指令元素上定义 ngModel
<bar-foo ng-model="data.value"></bar-foo>
并按如下方式重写指令
....
.directive('barFoo', function () {
return {
require: 'ngModel',
...
link: function (scope, element, attrs, ctrl) {
ctrl.$setValidity('bar-valid', false);
}
});
最佳答案
看看这个问题:AngularJS Form Validation Directive $setValidity on element
我会给你你所需要的,包括代码
关于javascript - angularjs:访问指令内的表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22143618/