DataAnnotations 属性を使用した MVC の組み込みモデル検証は非常にうまく機能し、開発を大幅にスピードアップします。ただし、アプリケーションのプレゼンテーション層で検証を処理できない場合が多くあります。たとえば、一意のプロパティの既存の値についてデータベースをチェックする場合などです。
次の要件を満たすこの問題の解決策を探しています。
- NInject (およびその他の DI メソッド) と互換性があります。
- SoC を壊しません。サービス レイヤーは、プレゼンテーション レイヤーをまったく認識しないようにする必要があります。
- 自動です。(少なくとも) プレゼンテーション層で最小限の余分なコードが発生します。
[ValidateServiceLayer]
アクション方法を考えます。 - DRYの原則に準拠しています。最小限のコード コピー。
- 検証メッセージを正しいプロパティに割り当てます (必要な場合)。
- 実行前と実行後の両方で、他の検証メッセージを追加できます。
これらの機能の追加ポイント:
- 例外を適切にキャッチし、ユーザー フレンドリーなエラー メッセージを表示します。
- 簡単な使い方。(NuGet パッケージ?)
これを自分で実装する方法についていくつかのアイデアがありますが、ホイールの発明に取り掛かる前に、他の誰かがすでに完成させているかどうかを知りたいと思います. 誰でもこのようなことに遭遇しますか?