Spring Boot チェック処理

Spring Bootで全角チェック処理を行う独自アノテーションを作成してみた

Spring Bootの独自アノテーションで、特定のフィールドに対するチェック処理も実装することができる。今回は、特定のフィールドの全角チェックを行うアノテーションを作成してみたので、共有する。

前提条件

下記記事の実装が完了していること。

Spring Bootのチェック処理を独自アノテーションで実行してみたSpring Bootでのチェック処理は、よく使うものについては独自アノテーションで作成しておくことができる。今回は、独自アノテーション...

サンプルプログラムの作成

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上図の赤枠のうち、「CheckZenkaku.java」「CheckZenkakuValidator.java」が、前提条件のプログラムから新規追加したプログラムで、他は変更したプログラムとなる。

まず、「CheckZenkaku」アノテーションの内容は以下の通りで、@CheckZenkakuアノテーションはフィールド指定(ElementType.FIELD)とし、表示するデフォルトエラーメッセージの指定をしている。

なお、表示するエラーメッセージ(validation.zenkaku)は、以下のmessagesプロパティで指定している。

また、「CheckZenkaku」アノテーションでのチェック処理を実装しているプログラムは以下の通りで、アノテーションの指定値が、空白値か全て全角文字の場合はtrueを返すようにしている。

なお、上記プログラム内に特に記載が無いが、エラーの場合は、アノテーションの指定項目が赤反転するようになっている。

さらに、「DemoForm.java」の内容は以下の通りで、「名前」に「@CheckZenkaku」アノテーションが付与されている。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/spring-boot-web-check-zenkaku/demo

サンプルプログラムの実行結果

入力画面で、名前に全角文字以外が含まれている場合は、以下のように、エラーメッセージを表示し、エラー項目を赤反転するようになっている。
サンプルプログラムの実行結果1

また、名前を全角文字のみにして「確認」ボタンを押下すると、エラーにならず、次の確認画面に遷移する。
サンプルプログラムの実行結果2_1

サンプルプログラムの実行結果2_2

要点まとめ

  • Spring Bootの独自アノテーションで、特定のフィールドに対するチェック処理も実装することができる。その際、@Targetアノテーションでは「ElementType.FIELD」を指定する。