2017-02-03 47 views
1

我已經書面形式:Symfony3 TimeType表單驗證GreaterThanOrEqual不工作

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驗證的類型工作正常。

我在做什麼錯?感謝幫助。

+0

你比較'Time'與'Date',不是嗎?這是行不通的。 – KhorneHoly

+0

這是真的,這是錯誤的。那麼我如何驗證時間不是發佈?我找不到合適的驗證類型。時間驗證器檢查只是時間。 – Dranzi666

+0

[DateTime](https://symfony.com/doc/current/reference/forms/types/datetime.html)如何? – KhorneHoly

回答

0

你應該使用DateTime這一點,這樣你就可以與當前DateTime,將由today參數驗證的值設定比較DateTime

公共職能buildForm(FormBuilderInterface $建設者,數組$選項){

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