когда я пишу дату, например, 24.12.1997 г., что является немецким форматом даты dd.MM.yyyy, проверка не удастся, потому что это неправильная дата для него. Например, когда я пишу 03.12.1997, он изменит его после того, как я уйду с поля на 12.03.1997, потому что что-то не так.
Когда я выбираю сам DatePicker, он работает нормально, и я получаю правильную дату в немецком формате. Также вопрос в том, есть ли способ настроить datePicker на текущий используемый язык, потому что я использую i18n для всего с немецким и английским языками, и в противном случае было бы странно.
app.module.ts
providers: [
{ provide: MAT_DATE_LOCALE, useValue: 'de-DE' },
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },
HTML:
<mat-form-field class="field-sizing">
<input matInput required [matDatepickerFilter]="dateOfBirthFilter" [matDatepicker]="dateOfBirth"
placeholder="{{ 'REGISTRATION.DATEOFBIRTH' | translate }}" name="dateOfBirth"
formControlName="dateOfBirth"
[ngClass]="{ 'is-invalid': g.dateOfBirth.touched && g.dateOfBirth.errors }" />
<mat-datepicker-toggle matSuffix [for]="dateOfBirth"></mat-datepicker-toggle>
<mat-datepicker #dateOfBirth startView="multi-year" [startAt]="startDate"></mat-datepicker>
<mat-error class="invalid-feedback"
*ngIf="g.dateOfBirth.touched && g.dateOfBirth.errors && g.dateOfBirth.errors.required">
{{ 'REGISTRATION.DATEOFBIRTH' | translate }} {{ 'VALIDATION.REQUIRED' | translate }}
</mat-error>
</mat-form-field>
.TS не нужен, потому что есть только настройки для фильтра.