Symfony validation_groups, как получить значение сущности

В Symfony я хочу динамически проверять форму. В зависимости от значения поля сущности я хочу включить группу проверки, в случае с именем «оплачено». Я использую следующий код:

public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'MyBundle\Entity\Account',
'validation_groups' => function (FormInterface $form) {

// Set always default
$valarr = ['Default'];

$business = $form->get('business')->getData();
if($business == true) $valarr[] = "business";

// This needs to be added in pending on entity field value
if(???) $valarr[] = "payed";

return $valarr;
},
));
}

Как я могу получить свою сущность, которая известна в контроллере, где эта форма активирована в эту функцию? Для бизнеса это работает, так как я могу получить значение из формы напрямую.

2

Решение

Как Маттео говорит в комментарии, вы можете просто использовать $form->getData()->$fieldname чтобы получить значение.

if ($form->getData()->$fieldname === 'my_special_value') {
$valarr[] = "payed";
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]