본문 바로가기
SpringBoot/Springboot Basic

Spring boot Validation 회원가입 정규식

by Son 2023. 4. 11.

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에 넣어준다

 

그리고 회원가입 버튼을 눌렀을때 메시지들이 보이지 않도록 해야함으로 메시지라는 초기화 시켜준다

 

결과

 

제대로 입력하면 안뜬다