Форма Symfony и различные группы проверки - PullRequest
0 голосов
/ 12 мая 2018

У меня есть форма с именем UserType, которая используется в моем контроллере при создании нового пользователя:

$newUser = new User();
$form = $this->createForm(UserType::class, $newUser);
$form->submit($request->request->all());

Теперь я хотел бы также иметь маршрут обновления, где используется форма.Форма может быть другой, так как некоторые свойства невозможно изменить после создания.Из-за этого я также хотел бы получить различные проверки в сущности.Как передать разные группы проверки через форму в моем контроллере?

1 Ответ

0 голосов
/ 13 мая 2018

С помощью опции Resolver Вы можете передать проверку имени группы в качестве опции и получить его в UserType

$newUser = new User();
$form = $this->createForm(UserType::class, $newUser, ['validation'=>'your_validation_group_name']);
$form->submit($request->request->all());

и в UserType

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('username', TextType::class, [
                'validation'=> $options['validation'] //contains your_validation_group_name 
            ])
        ;
    }
    public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults(array(
                'validation' => ''
            ));
        }
...