DDDやレイヤードアーキテクチャでアプリケーションを書いているとどのレイヤで値のバリデーションをしていくか迷う時があります。 レイヤーが増えたときに多くの場所でバリデーションを書きすぎると重複したコードが増え可読性も生産性も下がります。 レイヤごとに行うバリデーション それではどのレイヤでどのようなバリデーションをすればいいのでしょうか。以下のようにするといいのではと思っています。 フロントエンド ユーザの入力はシステムで想定されていない値がくるかもしれないので必要ならバリデーションを行います。 ただフロントエンドでバリデーションは、直接リクエストを変更しサーバにリクエストを投げることにより改変可能なので信用してはいけません。 あくまで最終的なバリデーションはサーバで行うとして多くのリクエストをサーバに投げられるのを防ぐためやサーバにいちいちリクエストしてユーザの利便性を損なうならばバリデ