当输入名称为数组时,angularjs形式不能引用输入控件

fuy*_*uyi 1 forms validation angularjs angularjs-directive angularjs-scope

使用angularjs测试表单验证时遇到问题

根据angularjs表格指南,

具有ngModel指令的输入控件包含NgModelController的实例.可以使用输入控件上的name属性将此类控件实例发布为表单实例的属性.

我在plunker上创建了测试代码,一切正常,直到我更改输入名称

<input type="number" name="age" ng-model="user.age" max="100" required>

<p>{{form1.age.$error}}</p>
Run Code Online (Sandbox Code Playgroud)

<input type="number" name="user[age]" ng-model="user.age" max="100" required>

<p>{{form1.user[age].$error}}</p>
Run Code Online (Sandbox Code Playgroud)

这是否意味着angular无法识别表单输入中的数组语法?

对我来说问题是我想保持正常的表单提交流程并且只使用angular进行表单验证,所以我需要将表单输入保持为数组以使用后端表单处理

gka*_*pak 13

它与Angular无关.这是一个语法JS错误.

如果要引用名为的属性user[age],则应该这样做:

form1['user[age]'].$error
Run Code Online (Sandbox Code Playgroud)

form1.user[age] 被错误地解释为 (form1.user)[age]