Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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
Angular ng已将无效类应用于FormarAyname容器_Angular_Angular Reactive Forms - Fatal编程技术网

Angular ng已将无效类应用于FormarAyname容器

Angular ng已将无效类应用于FormarAyname容器,angular,angular-reactive-forms,Angular,Angular Reactive Forms,我遵循了这一点,但我面临一个问题。当表单控件无效时,我使用css将其颜色设置为红色 .ng-invalid:not(form) { border: 1px solid red; } 这是angular提供的css,之后当我在生产模式下运行时,看到这个css应用于整个formArray,并且所有的表单都显示红色框 这就是它的样子。 FormArray的任何项目无效时,也将无效。您的css只排除表单,而不排除表单名称元素 试试下面的例子 // excluding form and any

我遵循了这一点,但我面临一个问题。当表单控件无效时,我使用
css
将其颜色设置为红色

.ng-invalid:not(form) {
    border:  1px solid red;
}
这是angular提供的css,之后当我在生产模式下运行时,看到这个css应用于整个formArray,并且所有的表单都显示红色框

这就是它的样子。

FormArray
的任何项目无效时,也将
无效
。您的css只排除
表单
,而不排除
表单名称
元素

试试下面的例子

// excluding form and any elements with formarrayname attribute
.ng-invalid:not(form):not([formarrayname]) {
  border:  1px solid red;
}
如果通过变量绑定到
formarayname
,则
formarayname
将不会设置为
div
,因此需要排除
div

// excluding form and div with ng-invalid
.ng-invalid:not(form):not(div) {
  border:  1px solid red;
}

当数组中的任何项目无效时,reference

FormArray
也将是
无效的
。您的css只排除
表单
,而不排除
表单名称
元素

试试下面的例子

// excluding form and any elements with formarrayname attribute
.ng-invalid:not(form):not([formarrayname]) {
  border:  1px solid red;
}
如果通过变量绑定到
formarayname
,则
formarayname
将不会设置为
div
,因此需要排除
div

// excluding form and div with ng-invalid
.ng-invalid:not(form):not(div) {
  border:  1px solid red;
}

参考

我仍然得到相同的答案,你确定你的拼写正确吗formarrayname@YashSharma请参阅我的最新答案。有一个链接指向演示。我的表单是动态的,需要的,不适合我,但在你的情况下,它是动态的works@YashSharma我复制了你的错误。对于您的情况,
formarayname
属性不会反映在
div
上。您可以通过
not(div)
进行尝试。查看我的最新答案。我仍然得到相同的答案,你确定我的拼写正确吗formarrayname@YashSharma请参阅我的最新答案。有一个链接指向演示。我的表单是动态的,需要的,不适合我,但在你的情况下,它是动态的works@YashSharma我复制了你的错误。对于您的情况,
formarayname
属性不会反映在
div
上。您可以通过
not(div)
进行尝试。请参阅我的最新答案。