Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms Angularjs表单验证输入字段,不带名称_Forms_Angularjs_Validation - Fatal编程技术网

Forms Angularjs表单验证输入字段,不带名称

Forms Angularjs表单验证输入字段,不带名称,forms,angularjs,validation,Forms,Angularjs,Validation,如何在表单中跟踪输入字段验证,而不使用字段名或字段名作为数组,例如用户[用户名] 示例代码: <div ng-class="{ 'has-error' : saveUserForm.user[first_name].$invalid && !saveUserForm.user[first_name].$pristine }"> <input type="text" value="{{userAttr.first_name}}" required ng-mo

如何在表单中跟踪输入字段验证,而不使用字段名或字段名作为数组,例如用户[用户名]

示例代码:

<div ng-class="{ 'has-error' : saveUserForm.user[first_name].$invalid && !saveUserForm.user[first_name].$pristine }">
   <input type="text" value="{{userAttr.first_name}}" required ng-model="userAttr.first_name" name="user[first_name]" id="inputFirstName">
</div>

在表单字段中使用数组名“user[first_name]”不起作用,我无法将其更改为像“firstName”这样的简单名称


我是否可以在此处使用字段“inputFirstName”的id:saveUserForm.inputFirstName.$invalid?

名称属性是必需的*,但Angular没有透露名称。如果名称是
user[first\u name]
,只要引用正确即可

假设名称如下:
name=“user[名字]”

您应该这样引用它:
saveUserForm['user[first\u name]].$…

例如


另请参见此


一点解释:
在JavaScript
saveUserForm.user[名字]
相当于
a[b]
其中
a=saveUserForm.user
b=名字


*:您可以不使用任何名称,通过创建自定义指令,获得父窗体的
FormController
,并使用其方法添加元素,但实际上不需要这样做。

顺便说一句,这是ng车型。但我不想跟踪它的值,我需要跟踪该字段是否有效,以便我可以向该字段添加错误类,例如ng class=“{error:userForm.userName.$invalid}”显示一些您正在尝试的代码。@Chandermani请参考上面更新的代码示例。名称是必需的,因为它用于创建ngModelController。我也不认为你可以用这个名字来表达。是否有任何方法可以在不使用name属性的情况下验证表单。我不知道,如果我添加name=“objectvo.fieldname”,默认情况下我得到的是[object object]。我已经在回答中回答了您的问题:)如果您面临任何具体问题,请发布一个问题。
<div ng-class="{'has-error':saveUserForm['user[first_name]'].$invalid&&
                            !saveUserForm['user[first_name]'].$pristine}">