我在我的angular应用中有一个子项目。在这个子项目中,我想创建一个带有输入域的表单。这些字段需要验证,如果字段无效(例如,必填),则需要选择性地显示错误。好吧,问题是,"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材质7.3.2。
发布于 2019-02-26 23:55:23
要访问表单控件的验证状态,您需要获取对该表单控件的引用,在本例中使用:orderReport.get('bankId'),然后可以访问invalid。
您的HTML代码应为:
<mat-error *ngIf="orderReport.get('bankId').invalid">The field shows an error.</mat-error>https://stackoverflow.com/questions/54889346
复制相似问题