使用angularjs
测试表单验证时遇到问题具有ngModel指令的输入控件包含NgModelController的实例。可以使用输入控件上的name属性将此类控件实例发布为表单实例的属性。
我在plunker创建了测试代码,一切正常,直到我改变输入名称
<input type="number" name="age" ng-model="user.age" max="100" required>
<p>{{form1.age.$error}}</p>
到
<input type="number" name="user[age]" ng-model="user.age" max="100" required>
<p>{{form1.user[age].$error}}</p>
对我来说问题是我想保持正常的表单提交流程并且只使用angular进行表单验证,所以我需要将表单输入保持为数组以处理后端表单处理
答案 0 :(得分:13)
它与Angular无关。这是一个语法JS错误。
如果您想引用名为user[age]
的属性,您应该这样做:
form1['user[age]'].$error
form1.user[age]
被错误地解释为(form1.user)[age]