반응형
유효성 검사(Validation)
validation이란 어떤 데이터의 값이 유효한지, 타당한지 확인하는 것을 의미
UI에서 javascript로 "이메일 양식이 일치하지 않는다"는 것은 UX 측면에서 사용자에게 편의를 주기 위함
보안적인 측면에서 유효성 검사는, UI, 서버에서 둘 다 수행되어야 함
스프링, 스프링 부트 모두 적용 가능
부트 2.3버전 이후는 Spring Boot Starter Validation 라이브러리 필요
어노테이션
어노테이션은 VO(DTO) 클래스의 멤버변수에 적용해서 사용
Import는 javax.validation패키지를 사용
어노테이션 | 설명 | 적용대상 |
@NotNull | null을 제외한다 | String, Long, Integer등 전부 검사 가능 |
@NotBlank | null, 공백을 허용하지 않음 | String만 적용가능 |
@NotEmpty | null을 허용하지 않음 | String, Map, Array에 검사 가능 |
@Pattern | 정규표현식에 맞는 문자열을 정의 | String만 적용 가능 |
email형식이어야 한다 | 공백을 통과 |
유효성 검사적용
컨트롤러에서는 데이터를 받을 때 @Valid와 Errors객체를 사용하여 유효성 검사를 진행
Errors 객체
유효성 검사에 필요한 프로그램 코드 작성
설명 | 표현식 | 클래스명 |
hasErrors() | 바인딩된 에러가 있다면 true | Errors |
getFieldErrors() | 유효성 검사에 실패한 필드 목록확인 | Errors |
getField() | 유효성 검사에 실패한 변수명확인 | FiledErrors |
getDefaultMessage() | 유효성 검사에 실패한 변수의 에러메시지 확인 |
FiledErrors |
isBindingFailure() | 유효성 검사에 바인딩이 안된경우 false | FiledErrors |
반응형
'SPRING BOOT' 카테고리의 다른 글
100일차 REST API (0) | 2023.02.22 |
---|---|
99일차 Spring Boot 판매자 페이지 구현 실습 (1) | 2023.02.22 |
98일차 Spring Boot DB 연결 (0) | 2023.02.15 |
97일차 Spring Boot Thymeleaf (0) | 2023.02.13 |
96일차 Spring Boot (0) | 2023.02.13 |
댓글