Codes + arguments
구체→공통 후보 배열과 rejected context를 가진다.
첫 code만 직접 꺼내지 않고 FieldError가 가진 전체 후보와 argument를 MessageSource가 locale bundle에 순서대로 대조한다.
구체→공통 후보 배열과 rejected context를 가진다.
후보·argument·default message를 한 객체로 전달한다.
현재 locale bundle에서 첫 일치 code를 찾는다.
선택한 문장 형식에 동적 값을 안전하게 넣는다.
내부 후보 배열 대신 최종 사용자 문구만 표시한다.
핵심: Resolvable을 그대로 넘겨야 Spring이 만든 구체성 순서와 locale별 argument 해석을 잃지 않는다.