たくさんのフィールドを持つ HTML フォームがあるとします。一部のフィールドは製品に属し、一部は注文に属し、一部はその他に属します。フォームが送信されたら、そのリクエストを受け取り、コントローラーで製品、注文、およびその他の Symfony フォームを作成します。次に、部分的なフォーム データを取得し、適切なフォームにバインドします。例は次のようになります。
$productArray = array('name'=>$request->get('name'));
$pf = $this->createForm(new \MyBundle\Form\ProductType(), $product);
$pf->bind($productArray);
if($pf->isValid()) {
// submit product data
}
// Do same for Order (but use order data)
// Do same for Other (but use other data)
問題は、私がそれをやろうとすると、 $form->isValid() メソッドが機能しないことです。bind() ステップが失敗したようです。フォームトークンに関係があるのではないかと疑っていますが、修正方法がわかりません。繰り返しますが、ビューで独自の HTML フォームを作成します (form_widget() は使用しませんでした。これは、FormTypes の束を何らかの方法で 1 つにマージする必要があるすべての複雑さの原因です)。基本的な HTML フォームを Symfony フォーム機能セットと一緒に使用する非常に簡単な方法が必要です。
Symfonyでもこれが可能であり、どうすればそれを行うことができるか教えてもらえますか?