禁用angular7中以前日期的ng-bootstrap日期和时间

时间:2019-05-06 04:08:31

标签: angular datetimepicker ng-bootstrap

html

     <ngb-datepicker (select)="onDateSelect($event)" [(ngModel)]="datePickerModel"></ngb-datepicker>

 <ngb-timepicker [meridian]="meridian" [(ngModel)]="time" class="fromTimePick">
                </ngb-timepicker>

如何禁用过去几天的日历日期,即禁用今天之前的日期和现在之前的时间(即,相对于当前日期禁用当前时间之前的过去时间)?

1 个答案:

答案 0 :(得分:1)

对于ngb-datepicker,您可以设置minDate输入绑定以禁用过去的日期:

<ngb-datepicker (select)="onDateSelect($event)" [(ngModel)]="datePickerModel"[minDate]="todayDate">

然后在您的component.ts上,将todayDate设置为今天。

const current = new Date();
this.todayDate = {
  year: current.getFullYear(),
  month: current.getMonth() + 1,
  day: current.getDate()
};

Demo

至于时间选择器,您不能使用ng-boostrap API显式禁用小时/分钟选择器,但我建议您在时间选择器之外编写自定义验证,以防止用户提交时间为无效吗?