Angular - 将自定义 css 应用于无效的 FormControl,而不是 FormGroup?
Angular - Apply custom css to invalid FormControl, not FormGroup?
我使用 Angular 文档 css 类 表示 valid/invalid 输入:
.ng-valid[required], .ng-valid.required {
border-left: 5px solid #42A948; /* green */
}
.ng-invalid:not(form) {
border-left: 5px solid #a94442; /* red */
}
但是当我嵌套 FormControls
(在 FormGroups
内)时:
this.form = this.fb.group({
ies_Cabecera: this.fb.group({
cab_DatosEstablecimiento: this.fb.group({
cab_NIFEs: this.nifEs = this.fb.control('', Validators.required)
})
})
});
并且 cab_NIFEs
无效,我得到了这个意外的行为:
css也适用于FormGroup
。
这是html:
<form [formGroup]="form" class="form" (ngSubmit)="onSubmit()">
<div formGroupName="ies_Cabecera">
<div formGroupName="cab_DatosEstablecimiento" class="clear">
<h3>Datos</h3>
<div class="col-xs-4">
<label>NIF Establecimiento *</label>
<input class="form-control" type="text" [formControl]="nifEs">
</div>
</div>
</div>
</form>
How can I make the css be applied only to the invalid FormControl
, not to
the FormGroups
?
最终解决了应用以下 css:
.form-control.ng-valid:not(form) {
border-left: 5px solid #42A948; /* green */
}
.form-control.ng-invalid:not(form) {
border-left: 5px solid #a94442; /* red */
}
这会强制元素成为 FormControl
以 css 应用。
我使用 Angular 文档 css 类 表示 valid/invalid 输入:
.ng-valid[required], .ng-valid.required {
border-left: 5px solid #42A948; /* green */
}
.ng-invalid:not(form) {
border-left: 5px solid #a94442; /* red */
}
但是当我嵌套 FormControls
(在 FormGroups
内)时:
this.form = this.fb.group({
ies_Cabecera: this.fb.group({
cab_DatosEstablecimiento: this.fb.group({
cab_NIFEs: this.nifEs = this.fb.control('', Validators.required)
})
})
});
并且 cab_NIFEs
无效,我得到了这个意外的行为:
css也适用于FormGroup
。
这是html:
<form [formGroup]="form" class="form" (ngSubmit)="onSubmit()">
<div formGroupName="ies_Cabecera">
<div formGroupName="cab_DatosEstablecimiento" class="clear">
<h3>Datos</h3>
<div class="col-xs-4">
<label>NIF Establecimiento *</label>
<input class="form-control" type="text" [formControl]="nifEs">
</div>
</div>
</div>
</form>
How can I make the css be applied only to the invalid
FormControl
, not to theFormGroups
?
最终解决了应用以下 css:
.form-control.ng-valid:not(form) {
border-left: 5px solid #42A948; /* green */
}
.form-control.ng-invalid:not(form) {
border-left: 5px solid #a94442; /* red */
}
这会强制元素成为 FormControl
以 css 应用。