od razu mówię, że Symfony2 to mój pierwszy framework. Robię formularz dodawania artykułów. Wszystko dodaje się już ładnie do bazy danych. Teraz postanowiłem dodać jeszcze validację. Na polach tekstowych nie było z tym problemu, jednak z takim select'em nie mogę sobie już poradzić.
W bazie są dwie tabele article i channel połączone relacją ManyToMany. Próbuję na różne sposoby validować przesyłane dane z selecta np. na zasadzie http://symfony.com/doc/2.2/reference/const...e.html#callback :
FilmType.php
<?php namespace FP\SiteBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Doctrine\ORM\EntityRepository; class ArticleType extends AbstractType { 'label' => 'Opis:', 'required' => true, 'trim' => true, 'max_length' => 2000, )); ... ... 'class' => 'FP\SiteBundle\Entity\Channel', 'multiple' => true, 'expanded' => false, 'query_builder' => function(EntityRepository $er) { return $er->createQueryBuilder('c') ->orderBy('c.id', 'ASC'); }) ); } ...
validation.yml
FP\SiteBundle\Entity\Article: properties: channels: - Choice: callback: getLegalChannels
Fragment Entity artcicle.php
{ }
Wpisałem wartości na stałe, jednak chyba powinny być to obiekty channel? Z kolei których nie wiem jak uzyskać tutaj w metodzie statycznej.
Przez co cały czas otrzymuje komunikat:
The value you selected is not a valid choice.