Angular动态设置ng-messages到name属性

时间:2015-07-16 14:05:17

标签: javascript angularjs validation ng-messages

我动态创建输入并希望验证其中的每一个,但是无法将ng-messages属性正确设置为动态生成的字段名称属性。

<input ng-model="sub.name" name="subName{{$index}}" class="form-control" placeholder="name" required maxlength="20" />
         <div class="field-error" ng-messages="form.subName{{$index}}.$error" ng-show="form.Name.$touched" role="alert">
               <div ng-message="required">Name is required.</div>
          </div>

我遇到第二行的问题,我将ng-messages动态设置为ng-messages。我怎么能这样做?

1 个答案:

答案 0 :(得分:56)

访问表单对象的属性也可以使用括号来完成,这可以解决您的问题:

<input ng-model="sub.name" name="subName{{$index}}" class="form-control" placeholder="name" required maxlength="20" />
<div class="field-error" ng-messages="form['subName' + $index].$error" ng-show="form.Name.$touched" role="alert">
    <div ng-message="required">Name is required.</div>
</div>