2011-02-01 12 views
0

最近、私はasp.net MVCでモデルバインドと検証に関するいくつかの記事と質問を読んでいます。これまで私が見逃していたのは、特定の外部キーID(関連項目のドロップダウンリストなど)の検証でした。提出された外部キーを検証するための優雅なメソッド

我々は次のような状況を検討している場合:

のフォルダのセットを備えており、ユーザーはそのフォルダにエントリを置くために許可されているエンティティ(すなわちウェブサイトエリア)がありますが、唯一の属するフォルダにユーザーがアクセスできるウェブサイトエリアに移動します。

したがって、指定された外部キーの値が問題のウェブサイトエリアに属するフォルダのセットに属しているかどうかを検証する上品な方法はありますか?

カスタムモデルバインダー、またはデータリポジトリにアクセスできるカスタムバリデータを使用してこのチェックを実行することは賢明だと思いますか?

答えて

0

データベースに作業をさせ、FKの検証をさせてみませんか?あなたのコントローラーでは、エラーを処理し、適切に表示するために表示することができます。

+0

問題は、あなたがそのように純粋な性質のFK制約ではなく、特殊な種類の親エンティティに固有のオプションのサブセットを提供している場合にのみアクセス制御の問題です(つまり、正確にこの請求書などに)。しかし私はあなたの考えを伝えることができると思う。ユーザインタフェースを操作する直接的な操作が予想されるユースケースではないことを考慮すると、モデル/データベース層によって生成された例外は適切である。 –

関連する問題