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

时间:2016-05-05 21:32:11

标签: javascript html

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

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

我检查所有可以执行此操作的html属性和事件,但我不确定应该使用什么。我试过onerror传递一个返回false的函数。没有改变。 onpatternmismatch可能吗?

1 个答案:

答案 0 :(得分:1)

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

  • input.validity.badInput如果您想要检测此特定错误
  • !input.validity.valid!input.checkValidity()如果您想检测最低/最高/要求的有效性错误以及无效日期
  • !form.checkValidity()如果您想检测与表单相关的所有元素的有效性错误。