是否可以在验证错误时使输入垫表单字段的整个边框填充红色

Is it possible to make entire border of input mat form field fill red on validation error

在我的表单中,我有自定义的电子邮件字段,我不能使用轮廓外观输入字段。

<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>

验证时如有错误,如下图

是否可以使它看起来像下面突出显示整个输入字段

我可以看到很多关于轮廓外观表单字段的示例,但没有看到填充外观的示例。有人可以指导吗。 TIA

更新:

尝试了以下 css 仍然无法实现。

.mat-form-field-appearance-fill .mat-form-field-invalid .mat-form-field-flex {
  border: 4px solid red !important ;
}

如果有任何 hack 可以实现此目的,将会很有帮助。

::ng-deep .mat-form-field-invalid .mat-form-field-flex {
  border: 2px solid red !important;
  border-bottom: none;
}

您需要使用 ::ng-deep 才能获得所需的结果。 Demo Link。 如果遇到任何问题,请告诉我。