1

私には2つのエンティティ(AとB)があり、それらの間には多対1の関係があります。

Aエンティティを使用してフォームを作成し、エンティティフィールド(ドロップダウンリスト)を使用してBエンティティの行を表示します。クエリビルダーを使用してそれらをフィルタリングします。リストの値を変更しない場合(つまり、ajaxを使用する場合)、すべてが正常に機能しています。

しかし、ドロップダウンの値を動的に変更すると、フォームを送信すると、「この値は無効です」というエラーが表示されます。

これは、送信された値がクエリビルダーによって返される「配列」に含まれていないためです。

この検証は、エンティティフィールドのsymfonyでは自動的に行われるようです(このフィールドではアサートを使用しません)。これを取り除きたいのですが。しかし、どのように?

4

2 に答える 2

0

Symfony 2.3 では、auto_initialize = false を追加して、params の順序を変更する必要があります。

$form->add($factory->createNamed('id', 'hidden', $id, array('auto_initialize' => false)));
于 2013-07-01T12:16:33.683 に答える