본문 바로가기
STUDY/SPRING

@Valid

by NOTEEE 2018. 7. 23.

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
    @AllArgsConstructor
    public 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;
        }
     
        @Data
        public class Search {
            private String keyword;
        }
     
        @Data
        public class Insert {
            @NotNull(message="아이디가 없습니다.")
            private String id;        
            @Pattern(regexp = ".*[ㄱ-ㅎㅏ-ㅣ가-힣]+.*", message = "한글만 입력가능합니다.")
            @NotNull(message="이름이 없습니다.")
            private String name;
            private String phone;
        }
     
        @Data
        public 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