【发布时间】:2012-08-16 04:10:21
【问题描述】:
我有一个使用 ng-repeat 创建的表。我想为表中的每个元素添加验证。问题是每个输入单元格与它上面和下面的单元格具有相同的名称。我尝试使用 {{$index}} 值来命名输入,但尽管 HTML 中的字符串文字看起来正确,但它现在正在工作。
这是我现在的代码:
<tr ng-repeat="r in model.BSM ">
<td>
<input ng-model="r.QTY" class="span1" name="QTY{{$index}}" ng-pattern="/^[\d]*\.?[\d]*$/" required/>
<span class="alert-error" ng-show="form.QTY{{$index}}.$error.pattern"><strong>Requires a number.</strong></span>
<span class="alert-error" ng-show="form.QTY{{$index}}.$error.required"><strong>*Required</strong></span>
</td>
</tr>
我尝试从索引中删除{{}},但这也不起作用。到目前为止,输入的验证属性工作正常,但没有显示错误消息。
大家有什么建议吗?
编辑:除了下面的精彩答案之外,这里还有一篇博客文章更详细地介绍了这个问题:http://www.thebhwgroup.com/blog/2014/08/angularjs-html-form-design-part-2/
【问题讨论】:
-
对于那些在 2015 年阅读这篇文章的人......投票最多的答案不再是正确的答案。往下看。 :)
-
This 似乎是@WillStrohl 谈到的“2015 年”答案。
-
这里的礼仪是什么?我应该留下接受的答案,因为当时它是正确的,还是接受今天的正确答案?只是希望这个看似流行的主题对新访问者有所帮助。
-
@PFranchise,我不知道,但我认为关于它的可见说明可能会有所帮助。也许作为对您的问题的修改,以便将注释保留在更多人可以看到的地方。
标签: javascript html angularjs validation grid