ng-messages不会显示在自定义指令中

时间:2016-06-08 10:37:27

标签: angularjs angular-material

我创建了一个自定义指令,用于访问表单的id,以便在相同验证失败时显示消息。

指令代码

<div> 
    <md-input-container>
      <label class="inputLabel" translate>amount</label>
      <input ng-model="order.amount" name="amount" type="text" required
             max="availableAmount"
             ng-disabled="disabled" ng-currency flex/>
      <ng-messages flex for="dataForm.amount.$error" ng-if="dataForm.amount.$dirty">
        <ng-message when="max">max reached</ng-message>
      </ng-messages>
    </md-input-container>
</div>

用法:

<form id="dataForm">
   <custom-directive></custom-directive>
</form>

好像我无法访问表单。或者angularmessage无法处理不同的范围。

有没有人有同样的问题或想法? 谢谢

是的:我发现了以下帖子,但我并不认为我和那个人有同样的问题。 angularjs ngMessages inside directive

我使用Angular 1.4.8;消息1.4.8和角材料1.0.4

1 个答案:

答案 0 :(得分:2)

如果指令具有独立的作用域,则它将无法访问ng-form指令的表单控制器对象。

Angular支持多种规范形式,因此您只需使用表单/ ng-form将输入包装在指令中。