我有一个简单ng-required
验证的表单。这适用于简单的输入字段,但我不知道如何处理ng-repeat中的数组。我希望ng-repeat中的输入只有在失去焦点一次后才会变为无效。
以下是问题的一个示例:
https://jsbin.com/kugobiwoxo/1/edit?html,js,output
这有效:ng-required="myform.MyName.$touched"
这不是:ng-required="myform.contact[{{$index}}].$touched"
在第二种情况下是否可以使用其他表达式。
答案 0 :(得分:2)
Angularjs不支持索引输入名称或ID。在ng-repeat
中,您需要使用ng-form
属性。
我对包含ng-repeat
的div所做的更改如下
<div ng-repeat='contact in model.Contacts' ng-form="innerform">
<label for='name'>Contact {{$index}}:</label>
<input type='text' ng-model='contact.Name'
id='name' name='contact'
ng-required="innerform.contact.$touched" />
<button ng-click='remove($event, $index)'>-</button>
</div>
正如您在JSBin
中看到的那样,它正在按预期工作