首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >尝试禁用日期选择器中的过去日期时,为什么会出现验证错误?

尝试禁用日期选择器中的过去日期时,为什么会出现验证错误?
EN

Stack Overflow用户
提问于 2019-04-01 22:59:33
回答 1查看 929关注 0票数 0

我有一个对可选日期字段使用ng-bootstrap's datepickerreactive form,我试图通过将minDate设置为当前日期来禁用过去的日期。

代码语言:javascript
复制
<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>
</div>
代码语言:javascript
复制
ngdate: NgbDateStruct = {
    year: new Date().getFullYear(),
    month: new Date().getMonth() + 1,
    day: new Date().getDate()
};

this.registerForm = this.formBuilder.group({
    startDate: ['']
});

当我输入日期时,它会正确地工作,并且今天之前的所有日期都会被正确禁用。问题是,当我提交表单而没有输入日期时,它的状态为errors.ngbdate是无效的。

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

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

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55458119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档