Spring @Valid에 대해 알아보자.
@Valid는 객체의 데이터의 유효성 체크 및 데이터 검증을 위한 어노테이션이다.
- pom.xml에 dependency를 추가해준다.<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>2.0.1.Final</version></dependency><dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.0.8.Final</version></dependency>
cs
- dependency를 추가했으니 활용해보자.@Data@AllArgsConstructorpublic class Sample{private String id;private String name;private String email;private String passwd;private String phone;public Sample() {}public Sample(String id) {this.id = id;}@Datapublic class Search {private String keyword;}@Datapublic class Insert {@NotNull(message="아이디가 없습니다.")private String id;@Pattern(regexp = ".*[ㄱ-ㅎㅏ-ㅣ가-힣]+.*", message = "한글만 입력가능합니다.")@NotNull(message="이름이 없습니다.")private String name;private String phone;}@Datapublic class Update {@NotNull(message="아이디가 없습니다.")private String id;@Size(min=4, max=12)@NotNull(message="이름이 없습니다.")private String name;private String phone;}}
cs Sample.class안에 INSERT, UPDATE클래스로 각각 선언이 되어있는데
등록/수정할 때의 유효성체크가 다르기 때문에 내부클래스로 선언하였다.
코드상 정의된 것 이외에도 @Min, @Max 등등 여러가지가 있으니 확인하면 될 듯하다.
'STUDY > SPRING' 카테고리의 다른 글
Executorexception: No constructor found in XXX (0) | 2018.07.25 |
---|---|
SPRING SWAGGER 정의 (0) | 2018.07.24 |
SPRING LOADED 적용 (0) | 2018.07.23 |
SPRINGBOOT CONSOLE SQL 정렬 (0) | 2018.07.19 |
SPRING BOOT SCHDULE (0) | 2018.02.26 |