确保结束日期大于开始日期并且在适当的范围内

时间:2018-10-12 06:01:58

标签: javascript datepicker

我有一个带有两个日期字段start date和end date的表格。表单具有动态创建的行,每个行都有这两个日期字段。

我使用minDate的{​​{1}}和maxDate功能在一个范围内设置了开始日期和结束日期。除了我选择结束日期时,该日期应大于开始日期,并且该日期也应在日期范围内。

1 个答案:

答案 0 :(得分:0)

您也可以在流程中添加自己的验证。

检索日期输入字段的值,使用Date()函数获取日期值,并在其周围建立条件。

请注意,此示例使用欧洲标准:dd / mm / yyyy

function validateDates(){
    var result = true;
	
    var start_date = $('#startDate').val();
    start_date = new Date(""+start_date);

    var end_date = $('#endDate').val();
    end_date = new Date(""+end_date);
		
    if(end_date <= start_date)
    {
        result = false;
        $('#dateError').html("End date must be later than start date!");
        $('#additionalText').html("Try changing the dates, and try again.");
    }
    
    return result;
}

function testFunction(){
    if( validateDates() ) {
         $('#additionalText').html("");
         $('#dateError').attr("id","success");
         $('#success').html("Success!");
    }
}
#dateError{
    color: red;
}

#success{
    color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="form-control" id="startDate" name="startDate" placeholder="Enter start date" value="12/10/2018">
<input type="text" class="form-control" id="endDate" name="endDate" placeholder="Enter end date" value="10/10/2018">
<br /><br />
<span id="dateError"></span>
<br />
<span id="additionalText"></span>
<br /><br />

<button onclick="testFunction();">Test</button>