我'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

还有其他人有这个问题吗?对解决方案的任何建议?