如何验证Symfony BirthdayType字段?

时间:2017-08-23 11:02:13

标签: php forms symfony validation

我正在尝试验证BirthdayType字段。表单字段如下:

->add('birthday', BirthdayType::class, [
    'placeholder' => [
        'year' => 'select-year',
        'month' => 'select-month',
        'day' => 'select-day',
    ]
])

字段验证的定义如下:

/**
 * @Assert\Date(
 *      message = "Field should be a date"
 * )
 *
 * @Assert\NotBlank(
 *      groups = {"Signup"},
 *      message = "Field must not be blank"
 * )
 *
 * @ORM\Column(type="string", name="birthday")
 */
 private $birthday;

在表单提交上,这是发布到控制器的内容:

[form] => Array
    (
        [birthday] => Array
            (
                [year] => 
                [month] => 
                [day] => 
            )
    ...
    )

验证运行时,除此之外,所有其他表单字段都已正确验证。 我是否遗漏了一些明显阻止该字段被验证为日期/生日的东西?

我已经尝试将这些添加到表单字段中,但它们似乎没有效果:

'error_bubbling' => true//false,
'compound' => false//true

1 个答案:

答案 0 :(得分:1)

BirthdayType返回日期时间Symfony Doc

在@ORM \ Column注释中尝试设置type =" date"。