ng-bootstrap设置注意当前日期导致验证错误

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (36)

我正在使用ng-bootstrap datepicker控件,我想禁用日历中的过去日期,因为我将minDate设置为当前日期。我使用的是反应形式,所以我在ngOnInit()中的日期字段为空。当我提交表单时,由于此日期字段,表单无效。无效状态显示:errors.ngbdate我的猜测是我设置了思路,但由于该字段不是必需的,因此日期未初始化。因为当我为此字段选择任何日期时,没有验证错误,并且minDate设置了当前日期之前的所有日期被禁用。当我没有提供/输入日期时,我可以克服此验证错误,因为这不是必填字段,同时我想在当前日期之前禁用日历中的日期。

 <div class="input-group">
 <input class="form-control" [minDate]="ngdate" placeholder="yyyy-mm-     
   dd" name="dp" formControlName="startDate" ngbDatepicker 
     #d="ngbDatepicker">
       <div class="input-group-append">
          <button class="btn btn-outline-secondary calendar fa fa- 
         calendar" (click)="d.toggle()" type="button"></button>
  </div>

TS代码:

ngdate: NgbDateStruct = {year: new Date().getFullYear() , month: new 
    Date().getMonth() + 1, day: (new Date()).getDate() };

 this.registerForm = this.formBuilder.group({
 ......
  startDate: [''] });
提问于
用户回答回答于

这可以通过改为startDate: ['']来解决startDate: null

扫码关注云+社区

领取腾讯云代金券