ngBootstrap для Angular 4 DatePicker в реактивной форме всегда требуется

Используя реактивную форму, я добавил ngbDatePicker:

<input type="text"
        id="business_incorp_date"
        class="form-control"
        formControlName="business_incorp_date"
        ngbDatepicker
        #incorporatedDatePicker="ngbDatepicker"
        (click)="incorporatedDatePicker.toggle()"
        readonly>

Для модели формы:

this.form = this.formBuilder.group({
  id: [
    0, [Validators.required]
  ],

  // ... removed for brevity

  business_type: [
    '', [Validators.required]
  ],
  business_incorp_date: [
    '', [FormValidators.date] // <-- NOT REQUIRED BY MODEL
  ],
  business_desc: [
    '', [Validators.required]
  ]

  // ...
});

Но если поле пустое, оно по-прежнему ngInvalid для ngbDateFormat:

{ "ngbDate": { "invalid": { "year": null, "month": null, "day": null } } }

Кто-нибудь знает, как сделать так, чтобы поле DatePicker допускало пустую строку?


person mtpultz    schedule 25.05.2017    source источник
comment
См.: github.com/ng-bootstrap/ng-bootstrap/ вопросы/   -  person pkozlowski.opensource    schedule 26.05.2017


Ответы (1)


Ответ предоставлен @pkozlowski.opensource через ошибку github, что утверждает, что для модели должно быть установлено значение null, чтобы избежать проверки необязательных полей.

person mtpultz    schedule 27.05.2017
comment
Спасибо за ваш комментарий, я потерял много времени, пытаясь найти правильный путь к этому. И ЛЕГКО! - person jecorrales; 06.09.2018