【发布时间】:2022-01-28 18:14:26
【问题描述】:
我正在使用以下代码在 mat 表单字段中设置错误:
<mat-form-field appearance="fill">
<mat-label> {{ Email }}</mat-label>
<input formControlName="email">
<mat-error *ngIf="service.form.get('email').hasError('maxlength')">{{ 'Display.messageLength' }}</mat-error>
<mat-error *ngIf="service.form.get('email').hasError('required')">{{ 'Display.requiredMessage' }}</mat-error>
</mat-form-field>
现在我想在表单加载时添加另一个错误。当我想显示错误时,我在 ngOnInit() 中有一个标志。添加第三个 mat-error ,错误不可见。我浏览了stackoverflow并尝试了以下操作:
ngOnInit() {
formData.form.controls['email'].setErrors({'flag': true});
}
并在 html 中添加以下代码
<mat-form-field appearance="fill">
<mat-label> {{ Email }}</mat-label>
<input formControlName="email">
<mat-error *ngIf="service.form.get('email').hasError('maxlength')">{{ 'Display.messageLength' }}</mat-error>
<mat-error *ngIf="service.form.get('email').hasError('required')">{{ 'Display.requiredMessage' }}
<mat-error *ngIf="!email.valid">{{email.errors| json}">{{ 'Display.requiredMessage' }}
</mat-error>
</mat-form-field>
我的服务代码如下:
form: FormGroup = new FormGroup({
email: new FormControl('', [Validators.maxLength(10), Validators.required]),
});
页面加载时仍然没有得到任何东西。我该怎么做?
【问题讨论】: