You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

datetime-local输入字段值无法通过格式验证的问题求助

解决datetime-local输入字段的验证失败问题

我太懂这种明明格式看起来完全匹配,但验证就是通不过的抓狂感了!咱们来一步步拆解问题所在:

问题根源

你用的验证规则date_format:Y-m-dTH:i里藏着一个容易忽略的坑:在Laravel的日期格式解析逻辑中,T是一个特殊格式字符,它代表的是时区缩写(比如UTC、EST这类),而不是你输入里的字面量T。系统会把2001-03-13T13:30里的T当成时区标识来解析,自然就和你写的格式不匹配了。

正确的验证规则

只需要把格式里的T用反斜杠转义,告诉系统这是一个普通字符,而不是格式占位符:

'game_date_time' => 'required|date_format:Y-m-d\TH:i'

额外小提示

如果你不想纠结格式转义的细节,也可以用更灵活的验证方式:让Laravel自动把输入解析为Carbon实例,直接验证它是一个有效的日期时间:

'game_date_time' => 'required|date'

这个date规则会自动识别datetime-local输入的格式,同样能达到验证效果,而且更省心。

内容的提问来源于stack exchange,提问作者Tartar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:57:24