Angular 为什么在尝试禁用datepicker中的过去日期时会出现验证错误?

Angular 为什么在尝试禁用datepicker中的过去日期时会出现验证错误?,angular,datepicker,ng-bootstrap,Angular,Datepicker,Ng Bootstrap,我有一个可选的日期字段,我试图通过将minDate设置为当前日期来禁用过去的日期 ngdate:NgbDateStruct={ 年份:新日期().getFullYear(), 月份:新日期().getMonth()+1, 日期:新日期().getDate() }; this.registerForm=this.formBuilder.group({ 起始日期:[''] }); 当我输入一个日期时,它会正确工作,并且正确禁用今天之前的所有日期。问题是,当我提交表单而不输入日期时,其状态为er

我有一个可选的日期字段,我试图通过将
minDate
设置为当前日期来禁用过去的日期


ngdate:NgbDateStruct={
年份:新日期().getFullYear(),
月份:新日期().getMonth()+1,
日期:新日期().getDate()
};
this.registerForm=this.formBuilder.group({
起始日期:['']
});
当我输入一个日期时,它会正确工作,并且正确禁用今天之前的所有日期。问题是,当我提交表单而不输入日期时,其状态为
errors.ngbdate
,无效

我认为这是因为我的日期字段开始时是空白的(因为它是一个反应式表单),并且没有初始化


当用户未输入日期时,如何禁用过去的日期,同时防止发生此验证错误?

根据,可以通过将
startDate:['']
更改为
startDate:null

来解决此问题。设置StartDate=null可解决此问题。之前,将其设置为startDate=''实际上是将其赋值为空。谢谢,这节省了我的时间。