アプリケーション層とドメイン層の役割について質問です。

ユーザーからの入力値の検証は普通アプリケーション層で行うと思います。
とすると、ドメイン層はアプリケーション層から問題ない値だけが渡される
という前提でプログラムするのでしょうか。

例えば、ユーザーからは正の整数を入力してもらう仕様になっている場合、
ドメイン層のプログラムをするとき、無効クラスの値(0 とか)を渡された場合の処理は
必要ないのでしょうか。