2017-05-25 5 views
2

Erforderlich eine reaktive Form ich mit dem ngbDatePicker hinzugefügt haben:ngBootstrap für Angular 4 in Datepicker reaktiver Form wird immer

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

für ein Formular Modell:

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] 
    ] 

    // ... 
}); 

Aber, wenn die Feld leer ist es nach wie vor für die ngbDateFormat ngInvalid ist:

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

Wer weiß, wie das zu machen DatePicker-Feld für eine leere Zeichenfolge zulassen?

+1

Siehe: https://github.com/ng-bootstrap/ng-bootstrap/issues/1582#issuecomment-304204567 –

Antwort

2

Antwort von @ pkozlowski.opensource über github issue, die besagt, dass das Modell auf Null festgelegt werden muss, um die Validierung für optionale Felder zu vermeiden.