结束日期时jQuery验证的奇怪/奇数错误大于开始日期

时间:2018-06-25 15:05:08

标签: jquery twitter-bootstrap-3 jquery-validate

我目前正在使用jQuery验证插件来验证名为“开始日期”和“结束日期”的表单字段。我有自己的jQuery验证方法,它将验证并确保结束日期将大于开始日期。但是,奇怪的是是如果我的开始日期是:2017年6月1日,而我的结束日期是:2018年5月1日 ,这将提示我一个错误,提示“结束日期应大于开始日期”。 但是,不应出现此错误,因为通过查看这些值,显然结束日期大于开始日期。那怎么了?

<form id="dataForm" role="form" class="form-horizontal">
<div class="form-group col-md-12">
    <label class="control-label col-md-4" for="startDateInput">Start Date</label>
    <div class="col-md-7">
        <div class="input-group date" style="max-width: 280px" data-provide="datepicker">
            <input type="text" class="form-control" id="startDateInput" name="startDateInput">
            <div class="input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>
            </div>
        </div>
    </div>
</div>
<div class="form-group col-md-12">
    <label class="control-label col-md-4" for="endDateInput">End Date</label>
    <div class="col-md-7">
        <div class="input-group date" style="max-width: 280px" data-provide="datepicker">
            <input type="text" class="form-control" id="endDateInput" name="endDateInput">

            <div class="input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>
            </div>
        </div>
    </div>
</div>
<div class="form-group col-md-12">
    <label class="control-label col-md-1"></label>
    <div class="col-md-10">
        <div class="pull-right">
            <input type="button" class="btn btn-primary" value="Save" id="saveButton" />
        </div>
    </div>
</div>

<script>
$('.date').datepicker({
    format: 'dd/mm/yyyy',
    autoclose: true,
    todayHighlight: true
});

$.validator.addMethod("endDate", function (value, element, params) {
    var startDate = $('#startDateInput').val();
    var endDate = value;
    return startDate < endDate || value == "";
}, '*End date must be after start date');

$('#dataForm').validate({
    rules: {
        startDateInput: {
            required: true
        },
        endDateInput: {
            endDate: true
        }
    }
});

$('#saveButton').on('click', function () {

    if ($('#dataForm').valid() == true)
        alert('hi');
});

演示:https://jsfiddle.net/Issaki1/gud7xjy0/31/ 嗨,请演示以下值,开始日期:01/06/2017 结束日期:01/05/2018

0 个答案:

没有答案