JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
Spring-MVCの散歩道 > Spring Boot の小径 > 第4歩 Spring Boot 匍匐前進 > 入力チェック

package jp.dip.arimodoki.model;

import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.Range;
import org.springframework.stereotype.Component;

import lombok.Data;

@Component              //コンポーネントスキャン用のおまじない
@Data			//Lombok Accesor自動生成
public class PromenadeForm {

    /**
     * 名前
     */
    @NotBlank       //未入力はダメ!
    private String myname = "";

    /**
     * 年齢
     */
    @NotNull            //nullはダメ!
    @Range(min=0,max=150, message="最大最小は、{myForm.minmax}")    //範囲チェック
    private int age = 0;

    /**
     * 電話番号
     */
    @NotBlank       //未入力はダメ!
    @Pattern(regexp = "^[-0-9]*$",message = "数字と-だけょ。")  //数字とハイフン
    private String phone = "";

    /**
     * email
     */
    @NotBlank         //未入力はダメ!
    @Email              //emailフォーマットチェック
    private String email = "";

    /**
     * CheckBox選択 必須チェック
     */
    private  String[] checkVals = new String[0];

    /**
     * checkBox の選択必須チェック
     */
    @AssertTrue(message = "どれか選ばんか~ぃ!")
    public boolean isCheckValsSelect() {
        return checkVals.length==0 ? false : true;
    }

    /**
     * 私のお気に入り
     */
    private String favorite = "";
}