Обязательный DatePicker в реактивной форме - PullRequest
1 голос
/ 30 октября 2019

У меня есть реактивная форма с Datepicker

 <div class="form-group">
     <label class="form-control-label" for="field_dataAtivacao">Data Ativação</label>
     <div class="input-group">
         <input id="field_dataAtivacao" type="text" class="form-control" name="dataAtivacao" ngbDatepicker #dataAtivacaoDp="ngbDatepicker" formControlName="dataAtivacao"/>
         <span class="input-group-append">
             <button type="button" class="btn btn-secondary" (click)="dataAtivacaoDp.toggle()">
                 <fa-icon [icon]="'calendar-alt'"></fa-icon>
             </button>
         </span>
     </div>
 </div>

Контроль формы без валидатора

editForm = this.fb.group({
    dataAtivacao: null,
});

Поле пустое, но всегда обязательное. Я попробовал это решение , но безуспешно

EDIT

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

Вот так пример комментариев

Проблема возникает, когда мне нужно обновить форму с помощью метода patchValue.

this.editForm.patchValue({
    dataAtivacao: cliente.dataAtivacao,
});

Когда я изменяю на null, работает нормально, но мне нужно показать дату и позволяет обновить форму с выбранным текущим

this.editForm.patchValue({
        dataAtivacao: null,
});

https://stackblitz.com/edit/angular-grybsk-vrnclb

1 Ответ

1 голос
/ 30 октября 2019

Используйте этот способ

editForm = this.fb.group({
    dataAtivacao : ["", Validators.required]
})
...