我正在使用两个Angular Material的datepickers来实现日期范围输入。其中一个选择器是开始日期,另一个是结束日期。开始日期的md-max-date值是结束日期输入绑定的模型。
<md-input-container class="searchParams" style="margin-left: 0px;">
<label>Keyrec Start</label>
<md-datepicker name="startDate" required md-hide-icons="calendar" ng-model="$ctrl.KeysheetViewService.startDate"
md-max-date="$ctrl.KeysheetViewService.endDate"></md-datepicker>
<div ng-messages="keysheetSearch.startDate.$error">
<div ng-message="required">
Please pick a date
</div>
</div>
</md-input-container>
<md-input-container class="searchParams">
<label>Keyrec End</label>
<md-datepicker name="endDate" required md-hide-icons="calendar" ng-model="$ctrl.KeysheetViewService.endDate"
md-min-date="$ctrl.KeysheetViewService.startDate" md-max-date="$ctrl.currDate"></md-datepicker>
<div ng-messages="keysheetSearch.endDate.$error">
<div ng-message="required">
Please pick a date
</div>
</div>
</md-input-container>
假设我的开始日期填充为05/01/2017,结束日期填充为05/02/2017。如果我单击开始日期的输入表单,并手动键入一个晚于05/02/2017的日期,表单将识别错误并变为红色。
这是预期的行为。但是当我将结束日期更改为晚于开始日期(期望这样可以删除错误)时,错误仍然存在。
Error remains when end date is past start date
其他人有这个问题吗?对解决方案的任何建议?