datetime - 使 flatpickr 输入成为必需

标签 datetime datetimepicker flatpickr

我正在使用令人惊叹的flatpickr在项目中,需要强制日历日期。

我试图在 native HTML 中进行所有验证,因此我天真地尝试将 required 属性添加到输入标记,但这似乎不起作用。

是否有一种方法可以使 flatpickr 本身强制指定日期,或者我是否需要编写一些自定义检查?

最佳答案

您可以通过以下方式轻松实现此目的:

Passing allowInput:true in flatpickr config.

例如:

flatpickrConfig = {
    allowInput: true, // prevent "readonly" prop
};

来自documentation :

Allows the user to enter a date directly into the input field. By default, direct entry is disabled.

此解决方案的缺点是您应该启用直接输入(但理想情况下,无论是否启用直接输入,都应该进行表单验证)。

但是如果您不想启用直接输入来解决这个问题,您可以使用下面的代码作为解决方法:

flatpickrConfig = {
    allowInput:true,
    onOpen: function(selectedDates, dateStr, instance) {
        $(instance.altInput).prop('readonly', true);
    },
    onClose: function(selectedDates, dateStr, instance) {
        $(instance.altInput).prop('readonly', false);
        $(instance.altInput).blur();
    }
};

此代码在未获得焦点时删除 readonly 属性,以便可以进行 html 验证,并在获得焦点时重新添加 readonly 属性以防止手动输入。更多详情here .

关于datetime - 使 flatpickr 输入成为必需,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45189710/

相关文章:

MySQL - 查询日期上方和下方的记录

php - 从 MIN(CAST(.. AS DATETIME)) 输出获取值到 php 错误

android - 我可以更改 TimePickerDialog 中 "set"按钮的标签吗?

javascript - Bootstrap 模式中的日期时间选择器,滚动

jquery - 如何获取来自 flatpickr 的日期输入?

python - 将 pandas 时区感知的 DateTimeIndex 转换为天真的时间戳,但在特定时区

python - 使用 python 将 DataFrame 列日期从 2/3/2007 格式转换为 20070223

javascript - 使用日期时间选择器 UI 选择日期时间后,使用什么方法来触发事件?

date - Flatpickr 和 Moment.js 意外的日期格式

javascript - flatpickr,链接两个输入字段以获取句点