Symfony3 TimeType表单验证GreaterThanOrEqual无法正常工作

时间:2017-02-03 12:53:52

标签: php symfony

我有书面形式:

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->...
      ->add ( 'sendTime', TimeType::class, [
            'constraints' => [
                    new GreaterThanOrEqual (  ['value'=>"today",'message'=>"error message"] )
            ]
    ]
     )
...

并在模板中:

{{ form_widget(formOne.sendTime.hour,{ 'attr': {'class': 'form-control'} })  }}
{{ form_widget(formOne.sendTime.minute,{ 'attr': {'class': 'form-control'} }) }}

代码检查日期是否已过去。但无论给出什么日期,总是错误。 DateType验证类型正常工作。

我做错了什么?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您应该使用DateTime,因此您可以将DateTime与当前DateTime进行比较,验证器值中的today参数。

public function buildForm(FormBuilderInterface $ builder,array $ options){

$builder
    ->add ( 'sendTime', DateTime::class, [
        'constraints' => [
            new GreaterThanOrEqual (  ['value'=>"today",'message'=>"error message"] )
            ]
        ]
    )