ngx- bootstrap datepicker подтверждает неверную дату - PullRequest
2 голосов
/ 12 марта 2020

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

Фон : я использую средство выбора даты ngx- bootstrap v5.1.0 и angular 7.2.15. Если дата недействительна (например, 09/99/2020 с использованием ММ / ДД / ГГГГ), она автоматически помещает строку «Недопустимая дата» в поле ввода, когда я покидаю поле ввода.

Этот метод работает но кроме того, я хотел бы дать пользователю некоторую обратную связь о дате, которую они ввели. В частности, введенное значение недопустимо. В этом случае это будет 09/99 / 2020.

Я могу получить недействительную валидацию даты, но не могу получить значение первоначально введенной даты, чтобы пользователь знал, что они ввели, и почему он недействителен.

enter image description here

Как получить или сохранить исходное значение, введенное в поле? Я пробовал событие onChange и valueChanges, но ngx-datepicker, кажется, переопределяет это, поэтому оно не срабатывает, пока вы не покинете поле.

1 Ответ

0 голосов
/ 12 марта 2020

ngx- bootstrap -datepicker имеет пользовательское событие вывода bsValueChange

Добавьте вывод в элемент HTML input:

  <input type="text"
        class="form-control"
        [minDate]="minDate"
        [maxDate]="maxDate"
        #dp="bsDatepicker"
        (bsValueChange)="onDateChange($event)"
        bsDatepicker [(bsValue)]="myDateValue">

и затем обработайте это в вашем компоненте ts:

 myDateValue: Date;
  previousDate: Date;

  ngOnInit() {
    this.myDateValue = new Date();
  }

  onDateChange(newDate: Date) {
    this.previousDate = new Date(newDate);

Пример стекаблица: https://stackblitz.com/edit/ngx-bootstrap-datepicker-taconz

...