を使用して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