Как определить действительную дату, используя Angular 7? - PullRequest
0 голосов
/ 20 февраля 2020

Вот ситуация. У меня есть приложение Angular 7. Одна страница используется просто для запроса даты рождения пользователя. Я хочу убедиться, что введенная дата является действительной.

Существует множество примеров использования JavaScript для проверки даты на SO, однако все они не работают для меня, потому что, что бы я ни вводил в поле, оно «становится» действительной датой.

Так, например, вот мой код:

<mat-form-field appearance="outline">
  <input
    matInput
    [matDatepicker]="picker"
    [(ngModel)]="profile.dateOfBirth"
    (dateChange)="onChange()"
    required
  />
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>

Входные данные являются данными, привязанными к profile.dateOfBirth, который является объектом Date.

Когда я запускаю код и введите «1» в поле ввода (очевидно, «1» не является допустимой датой), что я получаю, когда смотрю на значение profile.dateOfBirth:

profile.dateOfBirth = Пн Ян 01 2001 00:00:00 GMT-0800 (Pacifi c Стандартное время)

Я думаю, что здесь происходит то, что, похоже, Angular «помогает мне» и конвертирует » 1 "в действительную дату. Но это не так. Так каков рекомендуемый способ борьбы с этим?

...