Symfony2表单验证:DateTime的奇怪问题

时间:2014-04-02 13:57:39

标签: symfony

我有一个团队实体,有这样的属性

/**
 * @var \DateTime
 *
 * @Assert\DateTime()
 *
 * @ORM\Column(name="founded", type="datetime", nullable=true)
 */
private $founded;

我通过post:

传递给控制器​​方法
form_team[basicdata][founded]:30.12.1901

使用此日期并超出验证通过。当我放入12.12.1901及其下方时,其失败并显示消息This value is not valid.

这到底发生了什么?!?!

1 个答案:

答案 0 :(得分:0)

DateTimeValidator显示以下正则表达式以验证用户输入日期:

/^(\d{4})-(\d{2})-(\d{2}) (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/

哪个与您的输入不符。您需要为特定输入创建custm验证器约束。您可以在官方文档中找到有关如何执行此操作的更多信息:

http://symfony.com/doc/current/cookbook/validation/custom_constraint.html