首页 > 解决方案 > Flatpickr 验证 startDate 在 endDate 之前

问题描述

我有两个使用 flatpickr 的 DateTime 输入。似乎正常的自定义验证不适用于输入。

这是我尝试过的。但是表单仍然可以提交并将第一个日期更改为第二个日期之后

 // Validate that the start date is not after the end date
    var validateDates = function(startDate, endDate, endDateInput) {
        // Detect if the start and end date are valid (startDate is not after endDate) for create/edit modals
        // If end date is invalid, leave the displayed duration at 0
        getDifferenceInDays(startDate, endDate);

        if (startDate > endDate) {
            $('input[type="text"].eval-close-window-input')[1].setCustomValidity('End date must not be before start date.');
            $('input[type="text"].eval-close-window-input')[1].reportValidity();
            return false;

            // endDateInput.reportValidity()
        } else {
            $('input[type="text"].eval-close-window-input')[1];

            return true;
        }

    };

我的目标输入是这两个中的第二个。

// The input that I originally created
<input type="hidden" id="open-window-747" name="open-window" class="ml-1 pl-2 form-check-inline small-selector flatpickr-input form-control input eval-open-window-input" value="2019-11-23 3:36">

// Targeting this input
<input class="form-control flatpickr-input input active eval-close-window-input flatpickr-input form-control input" placeholder="" type="text" readonly="readonly">



标签: javascriptjqueryflatpickr

解决方案


推荐阅读