我的角度应用程序中有一个子项目。在这个子项目中,我想创建一个带有输入字段的表单。这些字段需要验证,并且如果该字段无效(例如必填),则需要显示错误。好吧,问题在于,“ formControlName”属性未定义(请看此线程的标题)。
代码定义如下:
// Component file:
...
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
...
export class ConfigFormComponent implements OnInit {
orderReport: FormGroup;
createForm() {
return this.fb.group({
bankId: ['', Validators.required],
...
});
}
constructor(private fb: FormBuilder) {
this.orderReport = this.createForm();
}
}
和HTML:
// View file:
...
<mat-card>
<form [formGroup]="orderReport">
<mat-form-field appearance="fill">
<mat-label>Bank ID</mat-label>
<input matInput placeholder="Bank ID" formControlName="bankId" required>
<mat-error *ngIf="bankId.invalid">The field shows an error.</mat-error>
</mat-form-field>
...
</form>
</mat-card>
我还将FormsModule
和ReactiveFormsModule
添加到AppModule文件中。有任何想法吗?
我正在使用Angular 7.3.2和Angular Material 7.3.2。
答案 0 :(得分:2)
要访问表单控件的验证状态,您需要使用以下方式获取对该表单控件的引用:orderReport.get('bankId')
,然后可以访问invalid
。
您的HTML代码应为:
<mat-error *ngIf="orderReport.get('bankId').invalid">The field shows an error.</mat-error>