minlog
article thumbnail
[ Spring Boot ] Validation (2) - @AssertTrue/False , Custom Annotation
BackEnd/Spring Boot 2023. 3. 9. 12:46

메서드를 사용하거나, 정규식과 비교해주는 어노테이션을 외에도 별도의 정규식을 만들어서 사용 할 수 있다. 별도의 정규식을 추가하는 필요성? 보통 날짜 부분에서 많이 사용된다. String 형으로 받아오게되는데, 명확히 확인 될 수 있는 정규식이 없다. 예시로 년도와 달 6글자를 받는 필드가 있다고 할때, 조건을 더 추가해주지 않으면 글자 수가 맞다면 날짜가 일치 하지 않아도 실행에 성공하게 된다. 각 사이트의 비즈니스 로직에 맞는 정규식이 필요하다. @Size(min=6,max = 6,message = "날짜를 정확하게 입력해주세요 ex ) yyyyMM") private String reqYearMonth; 1. @AssertTrue/False 어노테이션 사용 필드를 가져와서 정해진 패턴과 비교해주는 별..

article thumbnail
[ Spring Boot ] Validation (1)
BackEnd/Spring Boot 2023. 3. 8. 20:20

Validation 벨리데이션 (Validation) 이란 null pointer exception이 발생하는 부분을 방지 하기 위해서 미리 검증하는 과정. 검증해야할 값이 많을 경우 코드가 길어진다. 구현에 따라 다를 수 있지만 서비스 로직과의 분리가 필요하다. 흩어져 있는 경우 어디서 검증을 하는지 알기 어렵고 재사용의 한계가 있다. 스프링에서는 어노테이션 기반으로 제공하고 있다. ( 변수에 붙혀서 사용하면됨 ) Annotation Validation 의미 @Size 문자 길이 측정 (int 타입은 불가능) @NotNull null 불가능 @NotEmpty null," " 불가능 @NotBlank null, " ", 스페이스도 불가능 @Email 이메일 형식 @Past 과거 날짜 @PastOrPres..