class ProgressType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ { $builder ->add('title') ->add('description') ->add('started', 'datetime') ->add('ended', 'datetime') ; } /** * @param OptionsResolverInterface $resolver */ public function setDefaultOptions(OptionsResolverInterface $resolver) { 'csrf_protection' => false, 'csrf_field_name' => '_dc', 'data_class' => 'CodeCats\PanelBundle\Entity\Progress' )); } /** * @return string */ public function getName() { return 'codecats_panelbundle_progress'; } }
w encji pola daty i czasu opisane są:
/** * @var DateTime * * @ORM\Column(name="started", type="datetime") */ private $started; /** * @var DateTime * * @ORM\Column(name="ended", type="datetime") */ private $ended;
Akcja w kontrolerze:
$progress = new Progress(); $form = $this->createForm(new ProgressType(), $progress); 'title' => 'aa', 'ended' => new DateTime() ); $form->submit($store); if ($form->isValid()) { //$progress->setStarted(new DateTime()); // $em->flush(); }
Jednak walidacja nie przechodzi ponieważ:
Jak zasymulować wprowadzene daty tak aby walidacja działała poprawnie?