Как добавить маску для выбора диапазона дат углового материала?

Здравствуйте, я использую средство выбора диапазона дат углового материала. (угловой материал 14).

       <mat-form-field appearance="fill">
      <mat-date-range-input [rangePicker]="picker" [max]="today">
        <input matStartDate [(ngModel)]="item.startValue" [placeholder]="'Of' | translate " #dateRangeStart
          (keypress)="validation($event, index)">
        <input matEndDate [(ngModel)]="item.endValue" [placeholder]="'Till' | translate" #dateRangeEnd
          (dateChange)="dateRangeChange(index)" (keypress)="validation($event, index)">
      </mat-date-range-input>
      <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
      <mat-date-range-picker #picker (closed)="afterClose(item, index)"></mat-date-range-picker>
    </mat-form-field>

ts-файл

      validation(event: { which: number; keyCode: number; key: string }, index: number) {

if (this.filterList[index].validation) {
  const charCode = (event.which) ? event.which : event.keyCode;
  if (this.filterList[index].type == 'date') {
    const dateRegEx = new RegExp(/^\d{1,2}\.\d{1,2}\.\d{4}$/);
    return dateRegEx.test(this.filterList[index].startValue) ? null : { date: true }
  }
  if (eval(this.filterList[index].validation)) {
    return true;
  }

  return false;
}

}

Я хочу писать только числа, а формат должен быть дд/мм/ГГГГ. Если я выбираю дату из формата, это правильно, но когда я пишу ключевое слово и записываю номер, он не показывает мне автоматически символ «/». У меня проблема, когда я пишу на клавиатуре, дата не разбивается на / Если я не сфокусировал ввод. Поэтому я могу написать 1111111111111

0 ответов

Другие вопросы по тегам