Сообщения о проверке даты и времени для угловых материалов

Как отобразить сообщения проверки для ошибок проверки минимальной и максимальной дат в Angular Material Datepicker

<input [min]="minDate" [max]="maxDate" matInput [matDatepicker]="picker" [formControlName]="date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>

<mat-error class="error-message" *ngIf="formgroup.get('date').hasError('required') && (formgroup.get('date').dirty || formgroup.get('date').touched)">Date is Required</mat-error>

Здесь Обязательная проверка была установлена.

Как и я хочу показать, Дата должна быть выше, чем 01.01.2009, если пользователь набрал дату, которая меньше minDate.

Я знал, что все предыдущие даты будут отключены, если мы установим minDate. Но в этом приложении мы также разрешаем пользователю вводить дату! Поэтому, когда пользователь вводит дату, которая предшествует определенному minDate, я хочу показать сообщение об ошибке!

Есть ли способ добиться этого?

1 ответ

Решение

Вы можете использовать ссылку на ngModel, чтобы узнать, если дата ошибочна.

В этом стеке я сделал так, чтобы вы могли видеть ошибки, примененные к входу (чтобы вы могли знать ошибку), а также отображать ошибку, когда вход содержит ошибку.

<mat-form-field class="example-full-width">
  <input matInput #input="ngModel" [(ngModel)]="date" [min]="minDate" [max]="maxDate" [matDatepicker]="picker" placeholder="Choose a date">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>

  <mat-error *ngIf="input.hasError('matDatepickerMax')">Date should be inferior</mat-error>

</mat-form-field>

<br><br><br>
{{ input.errors | json }}
Другие вопросы по тегам