最大100個のフィールドを持ついくつかの大きなフォームを設定します。
ここで私の質問は、そのようなフォームの処理に関するベストプラクティスがあるかどうかです。
特に:
- 実体関連
- フォームオブジェクトそれ自体
誰かがそのようなタスクについての経験がありますか?すべてを1つのエンティティ、1つのフォームにまとめ、サブフォームでjQueryを使用して構造化する必要がありますか、それとも属性を可能な限り配列にグループ化する必要がありますか?
よろしく、ボードー
複数のエンティティから構築されたいくつかの複雑なフォームを作成しています。エンティティごとにフォームクラスを作成してから、必要なフォームのさまざまな組み合わせを保持する複合フォームクラスを作成します(これは、PéCéの提案に似ています)。
すべてのフィールドが必要ない場合は、Twigテンプレートでレンダリングされるフィールドを制御できるので問題ありません。フォームクラスにないフィールドが必要な場合は、それらをテンプレートに追加して、必要に応じてフォームデータを処理できます。このすべての努力のために、私は複数のエンティティとバンドルからのフォームを再利用するためのいくつかの組み込みの検証と柔軟性を手に入れました。
公式ドキュメントにはエンティティに直接リンクされたフォームの多くの例が示されていますが、これは最善のアプローチではないと思います。まれに、フォームにエンティティとまったく同じフィールドがある場合に適しています。
フォームはブラウザで取得するものを表す必要があるため、html input / textearea/selectのみです。私は通常、エンティティのように、検証制約を保持し、フォームと同じ構造を持つformDataクラスを作成します。
フォームをロードする前に、このformDataオブジェクトを永続化されたデータで初期化する必要があります。送信後、formDataオブジェクトでエンティティを更新します...