webkit输入类型=在错误日期发送空值的日期

webkit input type=date sending empty value on incorrect date

本文关键字:日期 空值 错误 输入 类型 webkit      更新时间:2023-09-26

我正在验证日期,我很容易地检查了对浏览器的支持,验证功能在Firefox上运行良好,因为当我发送无效日期时,我会尝试根据收到的值创建一个新的日期。如果新日期的值为"无效日期",则返回false并显示错误消息。问题是在chrome上,这根本不起作用。每当日期为空时,我都会执行ajax(因为我想让用户将日期字段留空,并且仍然能够过滤数据)。

然而,在Chrome中,由于当我插入无效日期(例如2016-02-31)时,它会将值发送为空,因此执行ajax时,就好像字段不是空的一样。我想防止这种情况发生。

我正在检查所有可以做到这一点的html属性和事件,但我不确定应该使用什么。我在传递返回false的函数时尝试了一个错误。一切都没有改变。也许是在奥运会上?

您可以通过以下方式检测此类无效日期:

  • input.validity.badInput,如果您想检测此特定错误
  • !input.validity.valid!input.checkValidity(),如果您想检测最小/最大/所需的有效性错误以及无效日期
  • 如果要检测与表单关联的所有元素的有效性错误,请使用!form.checkValidity()