我'm using two of Angular Material' s datepickers来实现日期范围输入 . 其中一个选择器是开始日期,另一个是结束日期 . 开始日期's md-max-date value is the model that the end 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
还有其他人有这个问题吗?对解决方案的任何建议?