-
23 데이터의 변환과 검증 (2)Spring/01 Spring MVC 2023. 6. 19. 21:01반응형
데이터의 변환과 검증(2)
5) Validator란?
- 객체를 검증하기 위한 인터페이스. 객체 검증기(validator)구현에 사용
6) validator를 이용한 검증 - 수동
7) Validator를 이용한 검증 - 자동
8) 글로벌 Validator
- 하나의 Validator로 여러 객체를 검증할 때, 글로벌 Validator로 등록
- 글로벌 validator로 등록하는 방법
servlet-context.xml
- 글로벌 Validator와 로컬 Validator를 동시에 적용하는 방법
수동 검증 - 실습
RegisterController.java
UserValidator.java
>> User.java는 생성되어 있음
자동 검증 - 실습
RegisterController.java
>> @Valid는 자바의 애너테이션으로 maven repository → Bean Validation API 2.0.1.Final 복사 → pom.xml 붙여넣기
결과 확인
>> 아이디에 aaa입력 후 → 회원 가입을 클릭하면 → registerForm을 보여준다
콘솔 결과
글로벌 Validator - 실습
GlobalUserValidator (작성)
servlet-context.xml
RegisterController.java
결과 확인
>> 아이디에 aaa입력 후 → 회원 가입을 클릭하면 → registerForm을 보여준다
콘솔 결과
① validetorList=에 GlovalValidator와 UserValidator가 출력되었다
② GlovalValidator와 UserValidator(LocalValidator)의 검증 메서드(validate( ))가 호출되었다
③ id와pwd 2번 검증했기 때문에, 에러가 4개로 늘어남 (+1,birth에러)
※ .propeties 확장자
- propeties는 propeties 클래스를 이용해서 파일 잃고 쓸 때 사용하는 파일 형식WS
- map처럼 key = value로 등록되어있다 ( = 로 구분)
MessageSource (사용자 화면에 에러 출력) - 실습
error_message.properties (src → resources → error_message.properties작성)
servlet=context.xml
registerForm.jsp
RegisterController.java
결과 확인
>> 아이디를 틀리게 입력하면, “invalidLength.id=아이디의길이는{1}~{2}사이어야합니다.” 실행된다
>> 한글이 깨져서 출력
한글 변환
Control+Alt+s → File Encodings 검색
결과 확인
>> GlobalValidator로 검증했고, 에러가 2개 발생
>> pwd 필수 입력인데, 값이없어서 에러
>> id는 invalidLength 에러
MessageSource (Object[ ] args) - 실습
GlobalUserValidator.java
결과 확인
/save → /add 변경
/save → /add 변경
반응형'Spring > 01 Spring MVC' 카테고리의 다른 글
22 데이터의 변환과 검증 (1) (0) 2023.06.18 21 DispatcherServlet 파헤치기 (0) 2023.06.15 20 예외처리(2) - 이론 (0) 2023.06.14 19 예외처리(1) - 실습 (0) 2023.06.13 18 세션(Session)-실습 (0) 2023.06.11