작성
·
285
3
안녕하세요 영한님
지금 가격의 가격을 ㅁㅁㅁ (문자입력)을 하면
숫자를 입력해주세요.
가격은 1,000 ~ 1,000,000 까지 허용합니다.
라는 에러 두개의 메시지가 표출됩니다.
그 이유는 하나는 스프링에서 기본 에러된 typeMismatch....
다른 하나는 개발자가 설정한 range....
하나의 메시지만 띄우고싶다면(typeMismatch 일땐 typeMismatch 메시지 에러 혹은 range 에러일떄 range 에대한 메시지 에러)
FieldError priceError = bindingResult.getFieldError("price");
이 메소드를 이용하여
이 조건문으로 처리를 해 보았습니다.
테스트를 해보았는데 정상 작동 하는거 같은데
이 방법의 오점이 있나요 ?
FieldError 메소드의 정의가
- 지정된 필드(있는 경우)와 관련된 첫 번째 오류를 가져옵니다.
- 매개 변수: 필드 - 필드 이름
- 필드 - 특정 오류 또는 null을 반환합니다.
인데요, type오류가 필드와 관련된 첫번째 오류로 인식되는게 맞나요? 개발자가 설정한 price=null or 1000 <price<1000000
조건은 첫번째 조건이 되지 않는거구요 제가 이해한게 맞을까요?