SpringBootでBeanクラス内にバリデーションメソッドを書く場合
SpringBootでBeanクラス内にバリデーションメソッドを書く場合、
is(has)XXX()
というメソッド名にしないとチェックが実行されない。
これはチェックが走らない
import java.io.Serializable; import javax.validation.constraints.AssertTrue; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor @Data public class TestForm implements Serializable { private static final long serialVersionUID = 1L; private String telNumber; /** * 電話番号 形式チェック. * * @return 判定結果. */ @AssertTrue(message = "電話番号はハイフン無し数字10~11桁で入力してください") public boolean validateTelNumber() { if (!StringUtils.hasLength(telNumber)) { return true; } return telNumber.matches("^\\d{10,11}$"); } }
常識なのですか?知りませんでした…。