结束日期不应该大于开始日期?

时间:2017-04-25 08:25:17

标签: javascript html angularjs

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

//这是控制器中的代码

$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>

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

1 个答案:

答案 0 :(得分: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);

编辑:如果你不关心最大日期,你可以跳过它。它不是强制要求最大日期。

希望这有帮助