Hibernate Validatorみたいなバリデーションフレームワークは一般的に作ってから確認する方式

そもそも作らせないようにするのは”always valid”と呼ばれてる
“always valid model”とかで検索すれば参考になるサイトが出てくる

長所短所を理解して使い分ける