Ich versuche, Daten von einem EventListener in einer benutzerdefinierten AbstractType-Klasse mit FormEvents::PRE_SUBMIT
zu erhalten, aber Daten gibt leere Felder zurück, wenn ich FormEvents::SUBMIT
verwenden, erhalten Felder Daten, aber ich kann keine Felder hinzufügen.Verwenden Sie PRE_SUBMIT EventListener in AbstractType Symfony 3
Wissen Sie, warum $form->getData()
leere Felder zurückgibt?
Meine Klasse ist:
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
}
Dank!
Oh, vielen Dank! – sgb004