[SpringMVC] Bean Validation Annotation, BindingResult

dbsrud11·2021년 9월 25일
0

Spring MVC

목록 보기
21/26


Bean Validation

: 도메인 로직에서 값을 검증할 수 있도록 도와주는 인터페이스

직접 검증을 하고 싶을 때

  • @AssertTrue
  • @AssertFalse

문자열을 다룰 때

  • @NotNull: null 사용불가
  • @NotEmpty: null, 빈 문자열(스페이스 제외) 불가
  • @NotBlank: null, 빈 문자열, 스페이스만으로 이루어진 문자열 불가
  • @Size(min= , max= ): 길이 제한
  • @Null: null만 가능

숫자를 다룰 때

  • @Positive: 양수만
  • @PositiveOrZero: 양수와 0만
  • @Negative: 음수만
  • @NegativeOrZero: 음수와 0만
  • @Min( ): 최솟값 제한
  • @Max( ): 최댓값 제한

정규식 관련

  • @Email: 이메일 형식만
  • @Pattern(regexp=" "): 직접 정규식 작성 가능

BindingResult

: 검증 오류를 보관하는 객체

BindingResult가 있으면 @ModelAttribute에 데이터 바인딩 시 오류가 발생해도 컨트롤러 호출되고 오류 정보가 담김.

없다면 400오류가 발생하며 컨트롤러가 호출되지 않고 오류 페이지로 이동함.

FieldError

FieldError("objectname(modelattribute에 담기는 그 이름)", "필드명", "띄울 에러메시지")
: 스프링이 제공하는 객체로 필드 에러들이 FieldError를 생성해 bindingResult에 담김. (ObjectError의 자식)

FieldError는 오류 발생시 사용자 입력 값을 저장하는 기능을 제공.

ObjectError

ObjectError("objectname", "띄울 에러메시지")
: 특정 필드를 넘어서는 오류는 ObjectError를 생성해 bindingResult에 담아두기.


참고
참고

profile
개발 바보

0개의 댓글