1. Validation
1) 유효성 검증
- 사용자 또는 서버의 요청(http request) 내용에서 잘못된 내용이 있는지 확인하는 단계를 말한다.
2. Validation 종류
1) 데이터 검증
- 필수 데이터의 존재 유무
- 문자열의 길이나 숫자형 데이터의 경우 값의 범위
- email, 신용카드 번호, date 등 특정 형식에 맞춘 데이터
3. Spring의 Validation
1) 스프링은 웹 레이어에 종속적이지 않은 방법으로 밸리데이션을 한다.
2) Validator 인터페이스 구현(implement)을 통한 validation
- 객체를 검증하기 위한 인터페이스
- 객체 검증기(vlaidator) 구현에 사용
- boolean supports(Class<?> clazz) : 이 Validator가 동작할 조건을 정의, 주로 class의 타입을 비교. 이 검증기로 검증 가능한 객체인지 알려주는 메서드.
- void validate(Object target, Errors errors) : 원하는 검증을 진행함. 객체를 검증하는 메서드.
Object target : 검증할 객체 Errors errors : 검증 시 발생한 에러 저장소 |
- reject(String errorCode)
- rejectValue(String field, String errorCode)
field : 에러 발생 필드 errorCode : 해당 에러에 대한 에러코드 defaultMessage : 해당 에러 에러에 대한 default 메시지 |
3) Validator를 검증기(validator)로 등록해줘야 한다.
- WebDataBinder를 사용
- 타입 변환 - 데이터 검증 - bindingResult |
4. Validation 수행 시 주의사항
1) validation이 너무 여러 군데에 흩어져있으면 테스트 및 유지 보수성이 떨어진다.
- 정책 변경 시에 모든 중복 코드를 수행해야한다.
- 여러 군데서 다른 정책을 따르는 검증이 수행될 수 있다.
2) ErrorCode, ErrorMessage를 활용해 응답 생성을 한다.
5. Data binding
1) 사용자나 외부 서버의 요청 데이터를 특정 도메인 객체(DTO)에 저장해서 웹 프로그램에 Request에 담아 주는 것을 말한다.
6. MessageSource
1) 다양한 리소스(파일, 배열)에서 메시지를 읽기 위한 인터페이스
2) ResourceBundleMessageSource를 Servlet-context.xml에 등록
- getMessage(String code, Object[] args, String defaultMessage, Locale Locale)
3) error_message
메시지 코드(errorCode) ----------------------- 메세지
7. 스프링이 제공하는 커스텀 태그 라이브러리 사용
1) <form></form>
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] Ajax JSON 게시판 만들기 및 댓글 기능 만들기 Stringify(), parse() (0) | 2022.12.03 |
---|---|
[Spring] 관점 지향 프로그래밍 핵심기능과 부가기능 개요 weaving Aspect 등 관련 용어 (0) | 2022.11.25 |
[Spring] jUnit Test Annotation Assert 메서드 (0) | 2022.11.11 |
[Spring] JDBC설정, DB연결 (0) | 2022.11.10 |
[Spring] Bean Beans IoC컨테이너 의존관계주입 (0) | 2022.11.09 |