如何阻止xdsoft datetimepicker自动修正异常格式的输入值?
解决xdsoft datetimepicker自动修正无效输入的问题
嘿,我对这个xdsoft日期选择器插件挺熟的,你遇到的这种自动把带异常字符的输入替换成31.12.1899的情况,其实可以通过调整插件配置来完全阻止,甚至还能自定义无效输入的处理逻辑。
第一步:修改初始化配置,关闭自动修正
你只需要在原有的初始化代码里加上两个关键参数,就能直接禁用自动修正行为:
allowInvalid: true:允许输入框保留无效的日期值,不会强制替换成默认的最小日期validateOnBlur: false:当输入框失去焦点时,不自动触发验证和修正操作
修改后的代码如下:
$('#cetvelBaslangic').datetimepicker({ format: 'd.m.Y H:i', autoclose: true, allowInvalid: true, validateOnBlur: false });
第二步:(可选)自定义无效输入的处理逻辑
如果想要对无效输入做进一步的处理(比如提示用户格式错误,或者清空输入),可以给输入框绑定change事件,自己做格式校验:
$('#cetvelBaslangic').on('change', function() { const inputValue = $(this).val(); // 匹配你需要的日期格式:dd.mm.yyyy HH:mm const validFormatRegex = /^\d{1,2}\.\d{1,2}\.\d{4} \d{1,2}:\d{2}$/; if (!validFormatRegex.test(inputValue)) { // 这里可以根据需求选择处理方式 // 示例1:提示用户格式错误 alert('请输入正确的日期时间格式,比如:01.01.2024 12:00'); // 示例2:清空无效输入(如果需要的话) // $(this).val(''); } });
这样设置之后,插件就不会再自作主张转换用户的原始输入了,完全按照你想要的方式保留内容或者自定义处理。
内容的提问来源于stack exchange,提问作者Yener
相关产品推荐
相关产品推荐

