Hibernate Validatorによるアノテーション
7.5 Hibernate Validatorによるアノテーション
Spring Bootで利用するもう1つのバリデーション機能は、org.hibernate.validatorパッケージです。これは「Hibernate Validator」と呼ばれるライブラリで、Hibernate(O/Rマッピングのフレームワーク)というフレームワークに含まれるバリデーション機能です。
Hibernate Validatorには、前述のjakarta.validationには含まれていないアノテーションが追加されています。これらもSpring Bootで利用することができます。ではHibernate Validatorで追加されているアノテーションについても整理しておきましょう。
7.5.1 @Length
String値に利用されます。文字列の長さ(文字数)の範囲を指定します。引数に「min」「max」の2つがあり、それぞれ最小文字数、最大文字数を指定することができます。
7.5.2 @Range
数値項目で用います。最小値、最大値を指定し、一定範囲内の値のみを入力できるようにします。基本的には、@Minと@Maxを併用するのと同じですが、こちらは1つのアノテーションにまとめています。引数に「min」「max」があり、それぞれ最小値、最大値を指定できます。
7.5.3 @Email
String値の項目で用います。入力された値が電子メールアドレスかどうかをチェックします。引数はありません。
7.5.4 @CreditCardNumber
数値の値およびString値で数値が入力される項目で用います。入力された値が正しいクレジットカード番号の形式かどうかをチェックします。引数はありません。
なお、これはあくまで値の形式をチェックするのであり、その番号が実際に利用可能かをチェックするわけではありません。
7.5.5 @EAN
String値の項目で用いられます。これはEAN(European Article Number)またはUCP(Uniform Product Code Council)のコード番号をチェックします。これらはバーコードの識別番号の規格で、特にEANは日本のバーコードで広く使われています(正確には日本で使われているものはJANと呼ばれます)。引数はありません。