강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

기팝님의 프로필 이미지
기팝

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

오류 코드와 메시지 처리6

error 메세지 두개

작성

·

285

3

안녕하세요 영한님

 

지금 가격의 가격을 ㅁㅁㅁ (문자입력)을 하면

 

숫자를 입력해주세요.

가격은 1,000 ~ 1,000,000 까지 허용합니다.

 

라는 에러 두개의 메시지가 표출됩니다.

 

그 이유는 하나는 스프링에서 기본 에러된  typeMismatch....

다른 하나는 개발자가 설정한 range....

 

하나의 메시지만 띄우고싶다면(typeMismatch 일땐 typeMismatch 메시지 에러 혹은 range 에러일떄 range 에대한 메시지 에러)

 

FieldError priceError = bindingResult.getFieldError("price");

 

이 메소드를 이용하여 

 

이 조건문으로 처리를 해 보았습니다.

 

테스트를 해보았는데 정상 작동 하는거 같은데

이 방법의 오점이 있나요 ?

 

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 기팝님

잘 처리하셨습니다^^

감사합니다.

FieldError 메소드의 정의가 

- 지정된 필드(있는 경우)와 관련된 첫 번째 오류를 가져옵니다.

- 매개 변수: 필드 - 필드 이름

- 필드 - 특정 오류 또는 null을 반환합니다.

인데요, type오류가 필드와 관련된 첫번째 오류로 인식되는게 맞나요? 개발자가 설정한 price=null or 1000 <price<1000000 

조건은 첫번째 조건이 되지 않는거구요 제가 이해한게 맞을까요?

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. zxzxzlxlzlxl님

질문을 잘못 이해하신 것 같습니다.

직접 해당 부분을 예제 코드로 작성해보시면 이해가 되실거에요.

감사합니다.

기팝님의 프로필 이미지
기팝

작성한 질문수

질문하기