0

典型的なSymfony2フォームでは、フィールドが無効な場合、フォームはすべてのフィールドが再入力され、問題のある特定のフィールドでエラーが発生した状態でユーザーに再度表示されます。

私のフォームでは、(セキュリティ上の理由から)1つのフィールドの値をユーザーに再入力させたいのですが、残りのフィールドは入力したままにしておきます。SF2のコントローラーからフィールド値を設定解除/クリアする方法はありますか?

4

2 に答える 2

1

以下の回答に示すようにオブジェクトの値を変更した後、フォームを再度作成し、オブジェクトをフォームに渡す必要があります...

$form = $this->createForm(new YourFormType(), $object);

return $this->render('YourBundle:YourEntityName:yourTemplate.html.twig, (array(
    'entity'=>$entity,
    'form'=>$form->createView()
));
于 2012-07-19T15:14:20.957 に答える
1

nullモデルオブジェクト自体で、または空の値が何であれ、それを設定するだけです。

if ($form->isValid()) {
    // ...
} else {
    $object->setSomeField(null);
}
于 2012-07-13T07:26:01.510 に答える