1. JS에서
회원 가입 버튼을 가져와 onclick을 할때
입력했던 회원정보의 값을 들고와
user객체를 생성하여 모두 넣어주고
registrationUser메소드에 파라메터 값으로 user객체를 넣고 보낸다
회원가입이므로 DB에 insert를 해야하기 때문에 post요청을 날린다
DTO에서 validation체크를 해준다
정규식
^ : 시작
& 끝
a-z 소문자
A-Z 대문자
0-9 숫자
가-힁 한글
2,5 2~5글자
@Email : 이메일 형식
Controller에서 @Valid 어노테이션을 추가해야 DTO에서 해놨던 정규식 validation체크가 가능하다
정규식 예외가 발생했을 경우 예외를 모두 한데 모으는 역활이 BindingResult bindingResult이다
JS에 응답을해줄때 MAP으로 응답을 해주므로
MAP errorMap를 생성하고
에러를 들고 있는 bindingResult에 for문을 돌려
map에 put해준다
controller에서 예외처리 객체를 가져온다
예외생성
예외클래스인 CustomValidException클래스를 생성하고 Map을생성한다
예외가 생성되고 @ExceptionHandler로 예외가 발생한 클래스의 캑체를 가져와
예외가 발생한 클래스의 객체의 예외메시지와 예외발생장소를 return해준다
Js에서 error가 일어났을때 errorMap에 에러가 발생한 곳 key값과 에러메시지를 value로 하는 map을 넣고 map에서
key값만 분리하여 list로써 가져온다(Object.keys.(errorMap)) 가져와 for문으로 해당 key 값일 때 에러메시지를 보여주는 화면에(errorMsgs[i].texContent)[i는 0부터 시작] 에 Map의 해당 key값의 value값을 html에 넣어준다
그리고 회원가입 버튼을 눌렀을때 메시지들이 보이지 않도록 해야함으로 메시지라는 초기화 시켜준다
결과
제대로 입력하면 안뜬다
'SpringBoot > Springboot Basic' 카테고리의 다른 글
AOP (1) | 2023.04.18 |
---|---|
Spring boot Validation 회원가입 정규식 아이디 (0) | 2023.04.11 |
Spring boot Validation 정규표현식 패턴 (0) | 2023.04.09 |
Spring boot Validation check (0) | 2023.04.07 |
Spring Boot 회원가입 페이지 + 아이디 중복기능 (0) | 2023.04.06 |