バリデーションの種類とエラー表示は対じゃない。

タイトルのとおりです。
バリデーションチェックには、いくつか種類があります。
入力が必須とか英数字のみとか。
そして1個のデータに対して複数の制約が存在することはよくある。
だけど、バリデージョンパターンごとにエラーメッセージを表示するのは違うと思う。

例えばパスワードのバリデーション。
・必須なので、入力されていなければならない。(not empty)
・パスワードは8文字以上。
と、あったとする。

そうすると多くの場合以下の2種類のエラーメッセージを表示している。
未入力(empty)だったら「パスワードを入力してください」
8文字未満の入力だったら「パスワードは8文字以上で入力してください」

でも、8文字未満が禁止されているのであれば、未入力(0文字)も8文字未満である。
つまり、エラーチェックは8文字以上あるかチェックすればよくて、空文字だったかは調べる必要がない。

包含するバリデーションチェックがある場合でも律儀に個別にチェックするのは無駄だと思う。