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

나인바틀스님의 프로필 이미지
나인바틀스

작성한 질문수

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

FieldError, ObjectError

bindingReault.addError rejectedValue 값에 item.getPrice() 는 어떻게 전달되는건가요?

작성

·

352

1

화면에서 qqq와 같은 문자열이 전달될 경우,

bindingReault.addError 프로퍼티에 rejectedValue에

item.getPrice()를 넘기는데, qqq는 숫자가 아니여서 item 객체에 저장이 안되어 있는데

어떻게 넘어갈 수 있는 걸까요?

log를 찍어보면,  item.getPrice()=null 인데요.

@PostMapping("/add")
public String addItemV2(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) {

//검증 처리
if(!StringUtils.hasText(item.getItemName())) {
bindingResult.addError(new FieldError("item", "itemName", item.getItemName(), false, null, null,"상품 이름은 필수 입니다."));
}
log.info("item.getPrice()={}", item.getPrice());
if(item.getPrice() ==null || item.getPrice() < 1000 || item.getPrice() > 1000000) {
bindingResult.addError(new FieldError("item", "price", item.getPrice(), false, null, null,"가격은 1,000 ~ 1,000,000원 까지 허용합니다."));
}

답변 1

0

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

안녕하세요. 바틀스나인님

BindingResult에 해당 정보들이 문자로 남아있고, 해당 정보를 찾아서 뿌려주게 됩니다.

감사합니다.

나인바틀스님의 프로필 이미지
나인바틀스

작성한 질문수

질문하기