BindingResult는 스프링 프레임워크에서 사용되는 클래스로, 데이터 바인딩과 관련된 결과를 저장하는 데 사용된다. 주로 폼 데이터의 유효성 검증 결과를 담고 있다.
BindingResult 매개변수는 @Valid 애너테이션으로 검증이 수행된 결과이며 항상 @Valid 매개변수 바로 뒤에 위치해야 한다.
스프링 MVC에서 폼 데이터를 컨트롤러에 전달할 때 스프링은 요청 파라미터를 해당하는 모델 객체에 바인딩한다. 그리고 BindingResult 객체는 이 바인딩 과정에서 발생하는 에러와 유효성 검증 결과를 수집하고 저장한다.
BindingResult의 주요 기능은 다음과 같다.
에러 정보 저장
BindingResult는 데이터 바인딩 중 발생한 에러 정보를 저장한다. 사용자가 잘못된 값을 입력한 경우나 유효성 검증 실패 시에 사용되며 에러 정보에는 에러 필드, 에러 메시지, 에러 코드 등이 포함될 수 있다.
유효성 검증 결과 저장
BindingResult는 유효성 검증 결과를 저장한다. 사용자가 입력한 데이터의 유효성을 확인하고, 필요한 조건을 충족하지 않는 경우 해당 정보를 저장한다.
커스텀 에러 처리
BindingResult를 통해 개발자는 커스텀한 에러 처리를 할 수 있다. 유효성 검증 실패 시에 특정한 동작을 수행하거나 에러 메시지를 사용자에게 전달하는 등의 처리를 할 수 있다.