2012-01-23 2 views
2

私は1対多の関係を持つユーザーとメッセージを持っています。名前で関連オブジェクトを検証する

Messageフォームを作成するときに、userフィールドを文字列にしたいので、idの代わりにユーザーの名前を入力できます。 $ userNameをメッセージクラスに追加しました。このクラスは永続的ではありませんが、検証する必要があり、正しいIDを取得してフォーム検証中にユーザーを設定する必要があります。エンティティでentitymanagerを使用するのは悪い考えですので、私はこの検証とユーザ設定をコントローラで行うべきだと考えました。

私の質問は、コントローラからフォームエラーを設定するにはどうしたらいいですか?任意のヒント?

おかげ

答えて

0

あなたは、エンティティのフィールドでそれを行うにしようとした場合、あなたは多くのユーザーに持っている場合は、パフォーマンス上の問題を持つことができるので、はい、あなたは次のように行うことができます... 別の解決策は、上のリスナーを使用することですフォーム... symfonyがフォームセキュリティトークンを作る方法を見てみましょう。

フォームエラーを設定するには、簡単です:$ form-> addError(new FormError( "Message"));

よろしくお願いいたします。私はそれをやったか興味があるかもしれない人に Y

1

注:

use Symfony\Component\Form\FormError; 

$field = $form->get('receiverName'); 
$field = $field->addError(new FormError('User dose not exist')); 

私は、コントローラ内の私の検証を行うと、エラーを設定します。

関連する問題