如何验证 Angular Material Datepicker?

CWh*_*ite 6 angular-material

我有以下代码:

<form [formGroup]="meetingFormGroup">

                  <!-- Date Input -->
                  <mat-form-field>
                    <input
                      matInput
                      [min]="minDate"
                      [max]="maxDate"
                      [matDatepicker]="picker"
                      placeholder="Choose a date"
                      formControlName="date"
                      required
                    >
                    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
                    <mat-datepicker #picker></mat-datepicker>

                    <mat-error *ngIf="meetingFormGroup.controls['date'].hasError('required')"
                      >Please choose a date.</mat-error
                    >
                    <mat-error *ngIf="?????"
                      >Entered date is too small.</mat-error
                    >
                  </mat-form-field>
                </form>
Run Code Online (Sandbox Code Playgroud)

现在在Angular Material 网站的“日期验证”部分,我阅读了以下内容:

每个验证属性都有一个可以检查的不同错误:

A value that violates the min property will have a matDatepickerMin error.
A value that violates the max property will have a matDatepickerMax error.
A value that violates the matDatepickerFilter property will have a matDatepickerFilter error.
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何在我的 mat-error 标签中验证这些错误。我需要在 *ngIf 表达式字段中写什么?

我很抱歉我的英语不好,希望你理解我的问题,也许可以提供解决方案。

谢谢!

小智 9

从 Angular Material 网站(这里):

  • 违反 min 属性的值将产生matDatepickerMin错误。
  • 违反 max 属性的值将产生matDatepickerMax错误。
  • 违反 matDatepickerFilter 属性的值将产生matDatepickerFilter错误。

因此,您将使用:

  • 对于分钟 - meetingFormGroup.controls['date'].hasError('matDatepickerMin')
  • 对于最大 - meetingFormGroup.controls['date'].hasError('matDatepickerMax')
  • 对于过滤器 - meetingFormGroup.controls['date'].hasError('matDatepickerFilter').