validate

조수경·2022년 2월 10일
0

Spring

목록 보기
19/43

입력값 검증(validate) : 스프링 MVC 프레임워크에서 Bean(자바빈 클래스..VO) Validation 기능을 이용하여 요청 파라미터 값(입력해야하는 값)이 바인딩된 도메인 클래스(메모리에 올라간 buyerVO객체)의 입력값 검증을 함

언제 메모리에 올라감?
컨트롤러에 요청이 와서 메서드가 생성이 되고 BuyerVO buyerVO가 생성되고 메모리에 생성되는 것 이때 조건을 어떻게 할지 Vo에 있는 것과 비교해서 찾아냄(validate)

입력값 검증 절차

  • 메서드 매개변수(컨트롤러에 있는 것)도메인 클래스(BuyerVO buyerVO)를 정의하고 @Validate를 지정
  • 입력값 검증 대상의 도메인 클래스 직후(BuyerVO buyerVO 바로 다음에 있는것) BindingResult를 정의
  • BindingResult에는 요청 데이터의 바인딩 오류 입력값 검증 오류 정보가 저장됨
  • forwarding을 통해 뷰(jsp)와 오류데이터를 공유(redirect는 안됨)

입력값 검증 결과(BindingResult)

  • hasErrors() : 오류가 발생한 경우 true를 반환
  • getGlobalErrors() : 객체 레벨의 오류 정보를 가져옴
  • getFieldErrors() : 필드(멤버변수) 레벨의 오류

입력값 검증 규칙

  • @NotBlank : 문자열이 null이 아니고 trim한 길이가 0보다 크다는 것을 검사
  • @NotNull : 빈 값이 아닌지 검사
  • @Email : 이메일 주소 형식인지 검사
  • @Size : 글자수 검사(최대 몇글짜 까지인지)
  • @Past : 과거 날짜인지 검사(오늘 기준으로 과거 날짜만 가능)
  • @Future : 미래 날짜인지 검사(오늘 기준으로 미래 날짜만 가능)
profile
신입 개발자 입니다!!!

0개의 댓글