如何在symfony3表单类型中验证“2016-05-16 06:00:00.0”?

时间:2016-06-27 21:05:55

标签: php symfony symfony-forms

我正在尝试使用symfony表单组件验证“2016-05-16 06:00:00.0”。这是我的验证规则

$builder->add("start", DateTimeType::class, [
        'format' => "yyyy-MM-dd HH:mm:ss.S",
        'invalid_message' => 'Really bad format'
    ]);

由于某种原因,它无法验证。我最后尝试了.0而不是.S,但仍然没有运气。

1 个答案:

答案 0 :(得分:0)

您可以在实体中为“DateTime”添加断言,您可以在其中添加

  @Assert\DateTime()

并且在其中您可以指定格式(默认格式为Y-m-d H:i:s),有关详细信息,请参阅http://symfony.com/doc/current/reference/constraints/DateTime.html

@Assert\DateTime(format = Y-m-d H:i:s) 

或者您可以使用

在表单中添加此验证约束
->add('fieldname', 'DateTime', array(
       'constraints' => new DateTime(format = Y-m-d H:i:s) 
))

还添加'use'语句

 use Symfony\Component\Validator\Constraints\DateTime; 

希望这会有所帮助,一切顺利