我有一个班级表格:
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 - 无论如何。有人可以帮助我吗?