RikuMoto
@RikuMoto (Riku Moto)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

入力したときだけバリデーションがかかるようにしたい

解決したいこと

Spring Bootで入力チェックし、バリデーションに引っかかるものはエラーを投げる処理を実装しています。

bali.java
    @Pattern(regexp = "^[A-Z0-9]+$", message = "半角英数字で入力してください")
    private String id;

上記でバリデーションを記載しているのですが、
idのパラメータがナシの場合はこちらのバリデーションをスルーさせたいです。

現状、idにパラメーターがない状態でも引っかかってしますので困っています。

解決策宜しくお願い致します。

0

1Answer

質問の意図はidが未入力だった場合スルーさせたいということで合ってますでしょうか

その場合bali.javaに渡すidを未入力→nullに変換させる方法があります
nullだとバリデーションに引っかかりません

Spring Bootで未入力項目をNullにする(バリデーション時に未入力のときはスルーするようにする)
https://blog.okazuki.jp/entry/2015/07/29/151819

0Like

Comments

  1. @RikuMoto

    Questioner

    regexp = "^[A-Z0-9]+$"
    こちらを
    regexp = "^[A-Z0-9]*$"
    にしたら解決しました。

Your answer might help someone💌