Spring

Spring - MVC @Valid_@Validated

엔꾸꾸 2019. 7. 28. 14:52

Spring Handler Method - @Valid, @Validated

  • Spring MVC Handler Method Argument에 사용할수 있으며, 바인딩이후 유효성 검사에 사용된다.

  • @Valid, @Validated 를 사용하여 유효성검사를 진행하는데 유효한 값이 바인딩 되지않은경우

    • 해당 BindinError 가 Model에 담긴다.
  • Binding Error 발생시 Model에 담기는 정보

    • Event
      • @ModelAttribute로 받아온 객체
    • BindingResult.event
      • Event객체에 대한 BindingError 정보
  • PRG Pattern

    • Post > Redirect > Get
    • Post 이후, 브라우저에서 Refresh를 하더라도 폼 서브밋이 발생하지않도록 하는 Pattern
  • @Valid

    • JSR303 annotation
    • @Valid 를 사용하면 애노테이션 기반의 유효성 검사를 진행한다.
    • 그룹을 지정할 수 없다.

  • @Validated
    • Spring MVC에서 제공하는 애노테이션
    • @Valid와 마찬가지로 애노테이션 기반의 유효성 검사를 진행한다.
    • 그룹을 지정할 수 있다.
    • 그룹을 지정한경우, 해당 그룹일때만 유효성 검사를 진행한다.

정리

  • @Valid, @Validated 애노테이션을 활용하여 @ModelAttribute로 받아온 객체에대한 유효성 검사를 할 수 있다.
  • @Valid는 그룹을 지정할수 없으며, @Validated는 그룹을 지정할 수 있다.