BindingResult는 입력 실패의 순서를 보존한다

사용자가 보낸 문자열부터 property 변환과 validation까지 한 대상 객체에 연결해 오류 code·argument·rejected value의 원인을 추적한다.

01 · RAW

요청 문자열

field 이름과 사용자가 실제 보낸 값을 수집한다.

02 · BIND

Property·type

허용 field에 값을 넣고 conversion 실패를 기록한다.

03 · VALIDATE

Field·object 규칙

변환된 값 사이의 제약과 관계 오류를 추가한다.

04 · RESULT

순서 있는 오류 기록

code 후보·argument·rejected value를 대상 객체와 함께 보존한다.

05 · VIEW

재표시

성공 값과 수정 가능한 오류를 같은 form에 돌려준다.

핵심: BindingResult는 오류 문자열 목록이 아니라 입력이 어느 단계에서 실패했는지 보존하는 사건 기록이다.