Angular форма всегда недействительна - PullRequest
1 голос
/ 04 августа 2020

У меня есть вход с ngDatePicker и кнопка отправки, которая отключена, пока форма недействительна.

Что происходит, так это то, что форма всегда недействительна! Я распечатал недопустимый атрибут формы, и это часть date.

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

У кого-нибудь есть представление о проблеме?

Вот как я создаю форму:

this.submitUserForm = formBuilder.group({
  email: [null, Validators.required],
  password: [null, Validators.required],
  firstName: [null, Validators.required],
  lastName: [null, Validators.required],
  date: [null, Validators.required],
  phoneNumber: [null, Validators.required],
  gender: [null, Validators.required],
  roles: [null, Validators.required]
});

А вот мой HTML:

<input class="form-control" placeholder="Date of birth" name="dp" ngbDatepicker
      #d_2="ngbDatepicker" formControlName="date" (click)="d_2.toggle()" [maxDate]="maxDateValue"
      onkeydown="return false" (dateSelect)="onEndDateChange($event)">

Ответы [ 2 ]

1 голос
/ 04 августа 2020

Это кажется подозрительным: [maxDate] = "minDateValue"

Похоже, что вы применяете minDateValue в качестве верхней границы, из-за чего разумный ввод кажется необоснованным.

0 голосов
/ 04 августа 2020

Каждый раз, когда ваше значение даты обновляется, попробуйте вызвать метод updateValueAndValidity следующим образом.

this.submitUserForm .get(date).updateValueAndValidity();

Это приведет к изменению всех подписчиков и обновит статус формы.

...