ここで提起された最近の質問: ASP.NET MVC: Is Data Annotation Validation Enough?
...データ注釈の検証 (モデル バインダーによってトリガーされる) に依存するだけでは、検証が常に実行されることを保証するには不十分であると結論付けられました。サービス層 (または ModelBinding が発生した後の別の場所) に同じ検証ロジックを追加する必要があります。残念なことに、検証コードを複製することになります (1 回はデータ注釈で、もう 1 回はサービス層で)。データ注釈で定義されている内容に基づいて、サービス層が検証をトリガーする簡単な方法はありますか? これが可能であれば、両方の長所を活用できます...検証コードを繰り返す必要はありませんが、検証が常に実行されるようにします。