유효성 검증이다.
사용자 또는 서버의 요청 내용에서 잘못된 내용이 있는지 확인하는 단계를 뜻한다.
스프링 같은 경우엔 웹 레이어에 종속적이지 않은 방법으로 검증을 진행한다.
Java Bean 기반으로 간편하게 개별 데이터를 검증한다.
이렇게 어노테이션으로 검증 방법을 명시한 후에, 컨트롤러에 @Valid 을 달고 매개변수로 보내주면, 문제가 없을때 메서드 내부로 진입이 되고, 있을때는 예외를 발생시킨다.
JavaBean 에서의 Validation 으로 검증 후, 비즈니스 검증을 한번 더 처리해 뷰에서 오류를 출력하는 방법이다.
검증을 진행할 원하는 RequestDto 에 Validation 을 달아준다.
차례로 getmapping 메소드에 해당 dto를 modelattribute 에 추가해 넘겨주고, PostMapping 메소드에 검증할 데이터 앞에 @Valid 어노테이션을 달아주고, 검증할 데이터 뒤에 BindingResult 을 매개타입으로 가져와준다.
그리고 오류가 발생했을시에 다시 해당 폼으로 돌아가게 구현해준다.
타임리프로 필드명을 지정해준 후에 해당 필드에 오류가 발생할시에 문구를 출력하게 해준다.
null 값을 전달해 에러가 발생하는게 아닌 기존의 폼에서 오류메세지를 출력해주는 모습이다.