Angularjs.通过ng-repeat获取元素的$valid属性是真的吗?



如果我的问题的答案已经在这里的某个地方,我很抱歉,我试图找到它,但所有我得到的-不是我的情况。

注意:我正在使用django 1.4,所以我改变了angular语法,以避免与django-template冲突,所以{$ var $} = {{var}}。

如何做到:

<form name="testForm">
<table><tr ng-repeat="field in contrller.fields"><td>
    <input type="text" placeholder="{$ field.label $}" name="{$ field.name $}" ng-model="field.value" ng-pattern="/^d+$/" ng-class="{'has-error': field.$invalid}">
</td></td></table>

在这种情况下,我不能得到字段。$无效或字段。美元有效属性。我知道我可以通过方法:ng-class="controller.getClasses(field)"做到这一点,但如果存在一些避免它的可能性-我更喜欢这个

$invalid属性不是在您的ng-repeat中的对象上设置的,而是通过表单的名称和输入字段的名称访问的。

你需要像

这样的东西
ng-class="{'has-error': 'testForm.' + field.name + '.$invalid'}

要在加载页面时停止必要的字段以显示错误,您还可以使用$dirty属性。

ng-class="{'has-error': 'testForm.' + field.name + '.$invalid' && 'testForm.' + field.name + '.$dirty'}

最新更新