2017-02-03 6 views
1

i schriftlich haben:Symfony3 Zeittyp Formularvalidierung GreaterThanOrEqual funktioniert nicht

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

und in Vorlage:

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

Die Code überprüft, ob das Datum nicht vorbei ist. Aber egal welches Datum angegeben ist, immer ein Fehler. DateType Der Typ der Validierung funktioniert ordnungsgemäß.

Was mache ich falsch? Danke für die Hilfe.

+0

Du vergleichst 'Time' mit einem' Date', nicht wahr? Das kann nicht funktionieren. – KhorneHoly

+0

Es stimmt, hier ist ein Fehler. Wie kann ich die Zeit validieren? Ich kann keine geeignete Art der Validierung finden. Die Gültigkeitsprüfung ist nur Zeit. – Dranzi666

+0

Wie wäre es mit [DateTime] (https://symfony.com/doc/current/reference/forms/types/datetime.html)? – KhorneHoly

Antwort

0

sollten Sie DateTime für diesen Einsatz, so können Sie die Date und Time mit den aktuellen Date und Time, die durch die today Parameter in dem Wert des Prüfers festgelegt werden vergleichen.

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

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