Как ограничить тип 00 в мм & dd для типа ввода = дата - PullRequest
0 голосов
/ 20 марта 2020

У меня есть дата ввода и текстовое поле с некоторыми значениями. Я хочу очистить текстовое поле, если нет даты. Это прекрасно работает, если я очищаю дату.

Но если я пытаюсь изменить месяц или дату, например, например, месяц равен '04', когда я пытаюсь изменить месяц на '05', первый символ становится 0, который меняет месяц на '00', и мое текстовое поле становится пустым.

Я знаю, почему это происходит, но как я могу ограничить ввод '00' в мм и дд.

Вот мой код:

. html:

<input type="date" [(ngModel)]="testdate" (change)="changeDate()">
<input type="text" [(ngModel)]="text">

.ts:

testdate = this.getFormattedDate(new Date());
  text = 'This is a test.';

  changeDate() {
    if (!this.testdate) {
      this.text = '';
    }
  }

  getFormattedDate(date: any): string {
    if (!date) {
      return '';
    }
    const d = new Date(date);
    const m = ((d.getMonth() + 1) <= 9 ? '0' : '') + (d.getMonth() + 1);
    const dd = (d.getDate() <= 9 ? '0' : '') + d.getDate();
    return d.getFullYear() + '-' + m + '-' + dd;
  }

Stackblitz: https://stackblitz.com/edit/angular-6tykbd

Спасибо.

...