Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
使用AngularJS中包含括号的名称验证输入_Angularjs_Forms_Validation_Symfony_Ng Class - Fatal编程技术网

使用AngularJS中包含括号的名称验证输入

使用AngularJS中包含括号的名称验证输入,angularjs,forms,validation,symfony,ng-class,Angularjs,Forms,Validation,Symfony,Ng Class,我有一个表单输入,其名称包含括号,例如: <form name="my_form"> <input type="text" name="my_form[email]" ng-model="email" ng-class="'mycssclass': my_form.my_form[email].$invalid"> </form> 因此,问题是Angular没有应用css类,因为我输入的名称(my_form[email]),是引用Angula

我有一个表单输入,其名称包含括号,例如:

<form name="my_form">  
    <input type="text" name="my_form[email]" ng-model="email" ng-class="'mycssclass': my_form.my_form[email].$invalid">
</form>

因此,问题是Angular没有应用css类,因为我输入的名称(my_form[email]),是引用Angular中输入的正确符号

下面是一个例子:

您需要在输入中使用
ng model
属性。它用
$scope
中的值绑定字段内容。您还需要将Javascript对象传递给
ng class
指令。在您的示例中,它将是:

<form name="my_form">  
    <input type="text" ng-model="my_form.email" ng-class="{'mycssclass': my_form.email.$invalid}">
</form>


请毫不犹豫地查看和指令文档中的示例。

用包含括号的名称引用输入的方法是使用括号表示法,如下所示:

my_form['my_form[email]'].$invalid

很抱歉,我没有在我的示例中添加ng模型指令,但我正在使用它,这不是问题所在。我的问题是包含大括号的输入名称。您能提供问题的plunkr吗?以下是您的plunkr的更正版本:。基本上,您需要将输入的名称更改为
email
,将
error
类触发器更改为
my_form.email.$invalid
。显然,如果我更改输入的名称,它应该可以工作。。。但就我而言,我无法更改输入的名称。