Angular DatePicker меняет ввод при использовании немецкого адаптера - PullRequest
0 голосов
/ 13 мая 2019

когда я пишу дату, например, 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 не нужен, потому что есть только настройки для фильтра.

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...