私は Play 2.0.1 アプリを持っており、ドキュメントで説明されているように、 Spring データ バインダーを介してフォーム処理のコツをつかんでいます。私はフォームを持っているところまで来ました。ユーザーが別のユーザーに次のようなメッセージを送信するとしましょう:
public class MessageForm {
@NotNull @NotEmpty
public String message;
@NotNull
public User recipient;
// i know, no sender
}
私のカスタム バインダーは、HTML フォームの ID で表されるユーザーが正しくシリアル化され、そのようなユーザーが存在しない場合はデフォルトで null になるようにします。
フォームを介して渡されたユーザーがメッセージを投稿しようとしているユーザーと友達であることを確認するための、追加の検証を書くことを考えています。これは基本的に一種の@FriendsWithCurrentUser
注釈になります。
私はそれを行う方法を知っています。私の質問は次のとおりです。これは良い考えですか? モジュールの観点からは、これは Web コンテキストに根ざした制約になるため、モデル パッケージには入れたくありません。これは JSR の目的ではないかもしれないという漠然とした感じがありますが、これによりコントローラーのロジックが大幅に削減され、ユーザーの送信に対して同様の制約を再利用できるようになると思います。