diff --git a/README.md b/README.md index 865d9ba..ac5cbbd 100644 --- a/README.md +++ b/README.md @@ -353,6 +353,22 @@ isValidメソッドの第2引数には、バリデーションのコンテキス また、@AssertTrueアノテーションを使ったチェックの事例を、バリデーションアノテーションをカスタマイズして実装することもできます。 +### 既存のアノテーションを組み合わせたアノテーションの作成 + +独自のアノテーションを作るだけでなくJakarta Bean Validationで定義されているアノテーションを組み合わせる方法もあります。 + +たとえば、Visaの申し込みを想定するときに、申込可能な年齢が必須であり18歳以上45歳未満であることをチェックする場合、@Minと@Maxを組み合わせて実装することができます。 + +```java +@NotNull +@Min(18) +@Max(45) +private Integer age; +``` + +このようにすればたしかに実装はできますが、年齢のチェックを行うアノテーションを作成したほうが、コードの可読性が高くなります。 +また、年齢に関するチェック処理を1つにまとめることで、年齢に関するチェック処理の変更が発生した場合に、変更箇所が1箇所になるため、変更の影響範囲を把握しやすくなります。 + ## まとめ Spring Bootでは、Jakarta Bean Validationの実装としてHibernate Validatorが利用されています。