【问题标题】:end date should not be greater then start date?结束日期不应大于开始日期?
【发布时间】:2017-04-25 19:35:47
【问题描述】:

我希望结束日期不应该大于开始日期。例如:开始日期是 2017 年 4 月 24 日,结束日期是 2017 年 4 月 23 日,在这种情况下它不应该允许搜索它应该禁用日历日期 2017 年 4 月 23 日。只有在 2017 年 4 月 24 日之后的结束日期才应该启用

//这是控制器中的代码

$scope.formats = ['dd/MM/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'shortDate'];
$scope.format = $scope.formats[0];
$scope.dateOptions = {
    datepickerMode: "'year'",
    startingDay: 1
};
$scope.max_date = new Date();


 //HTML code
 <div class="col-sm-6 col-md-6 col-lg-6" style="padding-left: 5px;">
     <p class="input-group margin_zero calGroup">
         From<input type="text" class="form-control" name="dob" uib-    datepicker-popup="{{format}}" ng-model="ordersearch.startDateFrom"
 is-open="opened" ng-click="open()" datepicker-options="dateOptions" close-text="Close" max-date="{{max_date}}"  required/>
         <span class="input-group-btn newCalIcon">
             <button type="button" class="btn btn-default calendarIcon" ng-click="open()" >
                 <i class="glyphicon glyphicon-calendar"></i>
             </button>
         </span>
     </p>
 </div>
 <div class="col-sm-6 col-md-6 col-lg-6 col-xs-6" style="padding-left: 5px;">
    <p class="input-group margin_zero calGroup">
        To<input type="text" class="form-control" name="dob" uib-datepicker-popup="{{format}}" ng-model="ordersearch.startDateTo" is-open="opened1" ng-click="open1()" datepicker-options="dateOptions" close-text="Close" max-date="{{max_date}}" min-date="{{min_date}}"/>
        <span class="input-group-btn newCalIcon">
            <button type="button" class="btn btn-default calendarIcon" ng-click="open1()" >
                <i class="glyphicon glyphicon-calendar"></i>
            </button>
        </span>
    </p>
</div>

这是代码。我需要验证结束日期

【问题讨论】:

  • 请格式化您的代码。不可读。

标签: javascript html angularjs


【解决方案1】:

您应该使用 bootstrap datepicker 提供的 max-datemin-date 指令。

<input type="text" readonly="" uib-datepicker-popup="dd-MM-yyyy" min-date="minEndDate" max-date="maxEndDate" ng-model=""placeholder="DD-MM-YYYY"></input>

您可以将$scope 中的任何日期绑定到这些字段,日历会自动分别限制它们之后和之前的日期。例如:

$scope.minDate = new Date(); //this restrict any older date from today
$scope.maxDate = new Date ( someFutureDateObject);

编辑:如果您不关心最大日期,您可以跳过它。有一个最大日期不是强制性的。

希望对你有帮助

【讨论】:

  • 能否详细说明@saurabh
  • max-datemin-dateuib-datepicker-popup 指令附带的两个属性。这两个属性告诉指令在日历中显示的最小和最大日期是什么。
  • (someFutureDateObject) 是什么意思?
  • 这是日历应该打开之前的最长时间。例如,最小日期可以是今天的日期,最大日期可以是 10 天后的日期。在这种情况下,日历将仅启用从今天到下几天的日期。所有其他日期将被禁用
猜你喜欢
  • 1970-01-01
  • 2017-02-08
  • 1970-01-01
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 2016-11-03
相关资源
最近更新 更多