40

我正在创建带有未映射字段的表单,如表单文档中所述。

但是,当在控制器或类似设备中我想访问它时,目前我正在使用 POST 请求数组并从那里退出,如下所示:

$postData = $this->getRequest()->request->get('my_form_name');
$unmappedField = $postData['unmapped_field']

我只是不禁认为这不是最好的方法,而且我在官方文档上找不到任何东西。

还有比这更好的方法吗?

4

2 回答 2

66

您可以在表单中访问未映射的字段

$unmappedField = $form['unmapped_field']->getData();
于 2013-06-13T10:19:30.987 回答
16

取自 symfony doc sf 2.5(也用 sf 2.3 测试过):

表格类型:

use Symfony\Component\Form\FormBuilderInterface;

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('task')
        ->add('dueDate', null, array('mapped' => false))


  ->add('save', 'submit');
}

控制器:

$form->get('dueDate')->getData();
$form->get('dueDate')->setData(new \DateTime());

http://symfony.com/doc/current/book/forms.html#creating-form-classes(向下滚动一点)

于 2014-09-04T23:52:39.300 回答