FormEvents::PRE_SUBMIT
을 사용하는 AbstractType 사용자 정의 클래스의 EventListener에서 데이터를 가져 오려고 시도하지만 데이터가 빈 필드를 반환합니다. FormEvents::SUBMIT
을 사용하면 필드가 데이터를 가져 오지만 필드를 추가 할 수 없습니다.AbstractType의 SymSony 3에서 PRE_SUBMIT EventListener 사용
$form->getData()
이 빈 필드를 반환하는 이유를 알고 계십니까?
내 클래스입니다 :
class RegistrationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('extra', ExtraType::class, array(
'data_class' => ExtraForm::class
))
->add('sales', SalesType::class, array(
'data_class' => SalesForm::class
));
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
$form = $event->getForm();
$data = $form->getData();
//Fields in data are empty
echo '<pre>';
print_r($data);
echo '</pre>';
/*
Example:
AppBundle\Entity\User Object
(
[id:protected] =>
[userType:protected] =>
[sales:protected] =>
[extra:protected] =>
[username:protected] =>
[usernameCanonical:protected] =>
[email:protected] =>
)
*/
//CODE
});
}
//CODE
}
감사합니다!
오, 정말 고마워요! – sgb004