0

我需要在 Symfony 中验证日期,预期格式为 Ym-dTH:i:s,例如 2019-08-02T23:09:01

这是 DateTime 对象被实例化的方式:

//...some code
                    'start_date' => new DateTime([
                        'format' => 'Y-m-dTH:i:s'
                    ]),
//...some code

即使 start_date 是正确的(例如 2019-08-01T20:04:00),验证器仍然会使其无效。如果我尝试使用 2019-08-01 20:04:00 和“Ymd H:i:s”格式,那么它可以工作。是否可以在格式中使用该 T ?

4

1 回答 1

0

您要验证的日期的来源是什么?它来自表单(用户输入?)?

如果是

那么你应该在连接的实体上使用 DateTime Assert 以形成 https://symfony.com/doc/current/reference/constraints/DateTime.html

您可以在表单上使用日期时间字段(https://symfony.com/doc/current/reference/forms/types/datetime.html)来验证数据输入

如果不

如果您有来自(例如)数据库的值,并且您不确定它是否有效,您可以使用 Datetime Assert(上面的链接)来验证“原始值”,这里是示例: https ://symfony.com/doc/当前/验证/raw_values.html

于 2019-08-03T07:47:28.873 回答