ngBootstrap for Angular 4 总是需要反应形式的 DatePicker
ngBootstrap for Angular 4 DatePicker in a Reactive Form is Always Required
我使用反应形式添加了 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]
]
// ...
});
但是,如果该字段为空,它仍然是 ngbDateFormat
:
的 ngInvalid
{ "ngbDate": { "invalid": { "year": null, "month": null, "day": null } } }
有人知道如何让 DatePicker 字段允许空字符串吗?
@pkozlowski.opensource 通过 github issue 提供的答案指出必须将模型设置为 null 以避免对可选字段进行验证。
我使用反应形式添加了 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]
]
// ...
});
但是,如果该字段为空,它仍然是 ngbDateFormat
:
{ "ngbDate": { "invalid": { "year": null, "month": null, "day": null } } }
有人知道如何让 DatePicker 字段允许空字符串吗?
@pkozlowski.opensource 通过 github issue 提供的答案指出必须将模型设置为 null 以避免对可选字段进行验证。