字段名称,用于构成ng-messages中使用的对象的一部分

时间:2016-08-02 09:52:00

标签: javascript angularjs

我有一个动态生成字段的表单,这是一个示例字段:

<input ng-required="!question.answers[questionKey]" type="radio" ng-model="question.answers[questionKey]" value="{{ option.value }}"  name="question-{{ question.id }}" />

正如你所看到的,我给我的字段命名question-{{ question.id }}这应该给出问题-1,问题2等的值。

我现在正在尝试向此字段添加一些表单验证,如果问题1是动态的,如何访问属性'questionForm.question-1。$ invalid'?

我能以某种方式将其注入以下ng-messages指令吗?

<div ng-messages="questionForm.name.$error">
    <p ng-message="minlength">Your name is too short.</p>
    <p ng-message="maxlength">Your name is too long.</p>
    <p ng-message="required">Your name is required.</p>
</div>

我希望我有意义吗?

1 个答案:

答案 0 :(得分:0)

questionForm是一个对象,因此您可以像questionForm[question.id]一样访问其属性,并动态获取每个问题的错误。

<div ng-messages="questionForm[question.id].$error">
    <p ng-message="minlength">Your name is too short.</p>
    <p ng-message="maxlength">Your name is too long.</p>
    <p ng-message="required">Your name is required.</p>
</div>