0
我想使用AngularJS手动将输入更改为$invalid
。我发现了一个如何做到这一点的good example。AngularJS为每个循环设置手动输入无效
但在我的情况,我有内环路一些表格,当我做我碰到下面的错误是一样的:
Cannot set property 'check' of undefined
不能找出如何解决它。
我想使用AngularJS手动将输入更改为$invalid
。我发现了一个如何做到这一点的good example。AngularJS为每个循环设置手动输入无效
但在我的情况,我有内环路一些表格,当我做我碰到下面的错误是一样的:
Cannot set property 'check' of undefined
不能找出如何解决它。
您的代码
<div ng-repeat="form in forms">
<form name="myForm">
<input name="ccNumber" ng-model="ccNumber" data-ng-change="check()">
<span ng-show="myForm.ccNumber.$error.minLength">A cc number should be minimum 10 chars</span>
<span ng-show="myForm.ccNumber.$error.maxLength">A cc number should be maximum 13 chars</span>
</form>
Form is valid is {{myForm.$valid}}
<br/><br/>
</div>
请参阅<input name="ccNumber" ng-model="ccNumber" data-ng-change="check()">
具有输入字段name
属性是一样的,因为每个循环创建具有相同name
性质提出了新的输入。所以角度无法识别单击的点击事件。
所以你需要设置序列name
您输入申请,像我下面的代码
<div ng-repeat="form in forms">
<form name="myForm">
<input name="ccNumber{{$index}}" ng-model="ccNumber" data-ng-change="check()">
<span ng-show="myForm.ccNumber{{$index}}.$error.minLength">A cc number should be minimum 10 chars</span>
<span ng-show="myForm.ccNumber{{$index}}.$error.maxLength">A cc number should be maximum 13 chars</span>
</form>
Form is valid is {{myForm.$valid}}
<br/><br/>
</div>
好像它并不能帮助。请看看http://plnkr.co/edit/IUUNowQR5dIhk8OpSXlU?p=preview – user3127896