Symfony Assert \ Valid () в подчиненной форме с группами - PullRequest
0 голосов
/ 05 октября 2018

У меня есть форма с подчиненной формой и соответствующими действиями DTO для обоих, в основной форме у меня есть переключатель, который должен сделать доступной или не имеющую форму.Таким образом, мне нужно убедиться, что подформа действительна, когда для радио установлено значение yes, для этого я использую 'validation_group'.Однако проверка не запускается ни в одной точке, и вместо этого нулевой объект передается контроллеру.Может быть, я что-то упускаю в настройке групп, потому что без этого проверка не выполняется, любые предложения приветствуются.вот мой код.

Основная форма

 $builder->add('sendInvitation', YesNoType::class, [
        'label'    => 'Would you like to send invitation?',
        'required' => false,
        'data'     => true,
    ]);

    $builder->add('invitation', InviteForm::class, [
        'label'       => false,
        'required'    => false,
    ]);
}

/**
 * @param OptionsResolver $resolver
 */
public function configureOptions(OptionsResolver $resolver)
{
    $resolver
        ->setDefaults([
            'data_class'        => 'AppBundle\Action\AddAction',
            'error_bubbling'    => true,
            'validation_groups' =>
                function (FormInterface $form) {
                    $groups = ['Default'];
                    /** @var AddAction $createAction */
                    $addAction = $form->getData();

                    if ($addAction->sendInvitation) {
                        $groups[] = 'send_invitation';
                    }

                    return $groups;
                },
        ]);
}

Основная форма Действие

  /**
 * @var InviteAction
 *
 * @Assert\Valid(groups={send_invitation})
 *
 */
public $invitation;
...