我正在使用令人惊奇的平面选取器在一个项目上,并且需要日历日期是强制性的。
我试图在本机 HTML 中进行所有验证,因此我天真地尝试仅添加required
属性到输入标签,但这似乎不起作用。
有没有一种方法可以使 flatpickr 本身强制指定日期,或者我是否需要编写一些自定义检查?
您可以通过以下方式轻松实现这一目标:
Passing allowInput:true
在 flatpickr 配置中。
例如:
flatpickrConfig = {
allowInput: true, // prevent "readonly" prop
};
来自文档:
允许用户直接在输入字段中输入日期。经过
默认情况下,直接输入被禁用。
此解决方案的缺点是您应该启用直接输入(但理想情况下,无论是否启用直接输入,都应该进行表单验证)。
但如果你不想启用直接输入来解决这个问题,你可以使用下面的代码作为解决方法:
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.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)