1

我有一个班级表格:

class MyForm extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options = array())
    {
        $builder->add('types', 'choice', array(
            'choices'       => $options['data']['types'],
            'required'      => false,
            'multiple'      => true,
            'expanded'      => true,
        ));

        $builder->add('dateFrom', 'date', array(
            'years' => range(date('Y') - 5, date('Y')),
            'required' => false,
        ));
    }
}

在我的控制器中,我接下来要做:

$form = $this->createForm(new TransSearchForm, array(
    'types' => $myCheckboxArray
));

// getting form data from required
$data = $this->getRequest()->get($form->getName());

/*... some changes dateFrom param in $data array ...*/

$form->setData($data);

并且选中的复选框未选中(但如果我使用

$form->bindRequest($this->getRequest());

所有工作正常 - 检查复选框。但是我的 dateFrom 参数没有改变......

所以,我需要:1)手动更改 dateFrom 参数 2)查看发送表单后检查的复选框

使用 bindRequest 或 setData - 无论如何。有人可以帮助我吗?

4

0 回答 0