如何检查日期选择器中两个日期之间的验证

用户8758118

我正在使用 datepicker 来获取日期,我需要进行验证,例如开始日期大于结束日期然后需要显示错误

我试过下面的代码,但它不能工作

    $('body').on('focus', ".datepicker", function () {
        $(this).datepicker({
            autoclose: true,
            format: '<?php echo date_format_datepicker(); ?>',
            language: '<?php _trans('cldr'); ?>',
            weekStart: '<?php echo get_setting('first_day_of_week'); ?>',
            todayBtn: "linked"
        });

        var sDate;
        $("#product_start").datepicker().on('changeDate',function (ev) {
            sDate = $(this).val();
        });


        $("#product_end").datepicker().on('changeDate',function (ev) {
        var edate = $(this).val();
            if (sDate > edate) {
                // $('#edate').datepicker("setDate", sdate);
                $('#date_error').append("Date should lesser than start date")
            }

    });

HTML代码

//Start date 
<input name="product_start" id="product_start" class="form-control input-sm datepicker">

//end date
<input name="product_end" id="product_start" class="form-control input-sm datepicker">

如果开始日期大于结束日期,它会多次打印打印错误..

维涅什·拉贾

这有效。

  1. 您对 2 个日期选择器使用相同的 ID,您不应该这样做。
  2. 打印多行是因为

    一种。情况主要是false日期不应被比较为strings. 将它们转换为日期对象并进行验证。

    您只是附加文本。旧消息不会被清除并堆积起来。每次都替换整个内容或使用默认错误消息并显示/隐藏div基于验证的内容。

$('.datepicker').each(function (){
    $(this).datepicker({
        autoclose: true,
        format: 'dd-mm-yyyy',
        todayBtn: "linked"
    });
});
var sDate,eDate;
$("#product_start").datepicker().on('changeDate',function(e){
    sDate = new Date($(this).datepicker('getUTCDate'));
    checkDate();
});

$("#product_end").datepicker().on('changeDate',function(date){
    eDate = new Date($(this).datepicker('getUTCDate'));
    checkDate();
});

function checkDate()
{
    if(sDate && eDate && (eDate<sDate))
    {
        $('#error').text("Date should lesser than start date");
    }
    else
    {
        $('#error').text("");
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/css/datepicker.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/js/bootstrap-datepicker.js"></script>

<input name="product_start" id="product_start" class="form-control input-sm datepicker">
<input name="product_end" id="product_end" class="form-control input-sm datepicker">
<div id="error"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在两个日期选择器之间使用验证?

如何在日期时间选择器中使用两个验证器

单击第二个日期选择器时如何获取两个日期选择器之间的日期差?

如何保存两个日期选择器数据

在访问数据库中的两个日期时间选择器之间搜索

两个日期之间的日期选择器差异失败

日期选择器-显示两个日期之间的时间(UIDatePickerModeDateAndTime)

C#foreach循环遍历两个日期选择器之间的所有日期

如何使两个日期选择器在 html 中相互依赖?

如何在Android中添加两个日期选择器?

如何在Xamarin Android中设置两个日期选择器?

如何在Android中显示两个不同的日期选择器

如何在 Android 中减去两个日期选择器?

使用日期选择器和实体框架 6 获取两个日期之间的所有日期

如何在ACF日期选择器中为Wordpress中的开始日期和结束日期限制两个日期?

计算两个Jquery日期选择器之间的周数

在两个日期选择器之间过滤数据表

无法在两个日期时间选择器之间过滤数据网格视图

如何检查两个日期之间是否存在日期?

日期选择器的JavaScript console.log和计数两个日期之间的差异不起作用

如何在 c# Visual Studio 中获得两个日期时间选择器的小时差?

jQuery datepicker最大日期最小日期控件,使用两个日期选择器

如何检查当前日期在laravel 5.4中的两个日期之间

如何检查日期是否在python中的两个日期之间

如何检查提交的日期在数据库中的两个日期之间?

如何将使用日期范围选择器获得的值转换为两个单独的日期和时间?

如何使用熊猫检查日期列中的日期是否在不同列中的两个日期之间?

如何验证正式的日期选择器中的用户输入?

如何处理两个日期之间的验证错误?