私はトリックを行う何かをしました...それが最善の方法かどうかはわかりませんが...
public function contactAction(Request $request){
$task = new myBundle();
$form = $this->createFormBuilder($task)
->add('email', 'text', array('label'=>'E-mail'))
->add('message', 'textarea')
->add('newsletter', 'checkbox', array('label'=>'blabla','required'=>false))
->getForm();
$cloned = clone $form;
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
if ($form->isValid()) {
[... code ...]
$form = $cloned;
}
}
return $this->render(
'myBundle:Default:contact.html.twig',
array('form' => $form->createView())
);
}
インスタンス化されたばかりのフォーム オブジェクトのクローンを作成することで、«full» オブジェクトを空のオブジェクトに切り替えて、すべてのパラメーターを保持できます。