<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]), });
页面加载后仍然没有得到任何东西。我该怎么办?
email: ['', Validators.compose([
Validators.required,
Validators.email,
Validators.minLength(3),
Validators.maxLength(320)
]),
],