【发布时间】:2021-07-01 13:09:09
【问题描述】:
我有一个带有自定义验证器的子组件输入的 Angular 反应式表单。
我有一个奇怪的行为:
当我第一次选择输入时,我输入了使字段无效的值,我没有看到红色边框,但我看到表单控件无效。仅当我不聚焦该字段时,边框才会改变颜色。 然后,当我返回并更新值时,我会在每个字符更改时对输入的文本进行“实时”UI 验证。
export class FormFieldErrorExample {
email = new FormControl('', [Validators.required, Validators.email]);
getErrorMessage() {
if (this.email.hasError('required')) {
return 'You must enter a value';
}
return this.email.hasError('email') ? 'Not a valid email' : '';
}
}
HTML
<div class="example-container">
<mat-form-field appearance="fill">
<mat-label>Enter your email</mat-label>
<input matInput placeholder="pat@example.com" [formControl]="email" required>
<mat-error *ngIf="email.invalid">{{getErrorMessage()}}</mat-error>
</mat-form-field>
</div>
电子邮件中official angular material site 中的示例
我需要的是从第一个焦点开始更改输入验证样式。
【问题讨论】:
标签: javascript angular angular-material angular-reactive-forms