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