MVCの検証でオンラインの例で見た最も一般的なアプローチは、ViewModelを使用してデータを検証することです。人々はデータ注釈を使用するか、IValidatableObjectとIClientValidatableインターフェイスを実装します。しかし、それは単一の責任原則を破るものではありませんか? ViewModelが実際に検証を行うべきか?ASP.NET MVC ViewModelの検証と単一の責任原則
私が考えていたアプローチの1つは、別のバリデータクラスを作成し、それをコントローラからModelState辞書に渡すことでした。このアプローチの欠点は、IClientValidatableインターフェイスを実装し、JQuery検証ライブラリを使用して簡単なクライアント側検証を実行できなくなることです。
SOLIDの原則を破ることなく、MVCでViewModel検証を実装する正しい方法は何でしょうか?
検証には2つのレベルがあります。単純な正式な検証では、サーバー側でクライアント側またはデータ注釈を実装できます。そして、他のデータ/他のシステムへの複数の依存関係を伴う高価なビジネス検証。私は通常、 "どちらか/または"がなく、むしろ両方を必要とすると思います。 –