关于POST_SET_DATA

时间:2013-12-17 13:45:20

标签: symfony symfony-forms

POST_SET_DATA应该用于在提交表单后添加或修改表单,但我不确切知道如何使用它..

我有这段代码:http://pastebin.com/E9V9QHFn但是我得到了NULL end,而且肯定是在提交数据表单。

这里是代码:

        //CustomerType.php
        $builder->addEventListener(
            FormEvents::POST_SET_DATA,
            function(FormEvent $event) {
                $form = $event->getForm();
                $data = $event->getData();
                var_dump($data);
                die("end");
            }
        );

我跟随this

这次我的目标是设置实体中定义但未在表单中显示的外键的值,正好是已记录用户的id。

1 个答案:

答案 0 :(得分:1)

你必须尝试这个

  $builder->addEventListener(
        FormEvents::POST_SUBMIT,
        function(FormEvent $event) {
            $form = $event->getForm();
            $data = $form->getData();
            var_dump($data);
            die("end");
        }
    );

您已将getData()调用到FormEvent中。要获取数据,你必须使用$ form-> getData()。

抱歉,我在谈论你的EventListener:

            $data = $form->getData();

不是

            $data = $event->getData();

要获取提交的数据,请使用PRE_SUBMIT / POST_SUBMIT而不是POST_SET_DATA