Symfonyフォームのエラーを直列化できる多次元配列に変換するメソッドを構築しようとしています。Symfonyフォームの子を再帰的にループ
現在、私はフォーム内のフォーム(フィールドセットタイプ)のみを持っています。フォーム内にN個のフォームを埋め込むための新しいシステムを作成しました。私は、$errors
配列に移入するためにエラーが発生したすべての子をトラバースできる必要があります。
私は奥行きや移動距離を把握する必要があります。
たとえば、フォーム内のフォームは$errors[depth1][depth2]['message']
となります。複数の埋め込みフォーム(例えば5まで)を持つフォームは、$errors[depth1][depth2][depth3][depth4][depth5]['message']
$errors[depth1][depth2]
e.t.cです。
NB:[depth(N)]
は、現在のフォーム名に置き換えられます。
これを行う最もクリーンな方法は何ですか。
これはフィールドセットを取得する私の現在の機能ですが、深度に関係なくエラーを受け取り、位置(キー)をそのまま維持できるようにするために使用しましたか?任意の助けをいただければ幸いです:)
(追跡すること)しないでください:
それは次のように見えるかもしれません。配列で呼び出され、ネストされた配列で自身を呼び出す再帰関数を構築します。参照渡しの場合は、常に '$ errors ['cause'] .. 'を使用することができます。 – kero
私は位置を追跡しなければならないと思いますが、それらを再び適用するときに発生します。エラーを元のフィールドに戻すときに使用します。 – Kal
元の原因フィールドと一致するフィールドを検索するだけでそれらを適用すると、追跡する必要はありませんか? – Kal