작성
·
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원 까지 허용합니다."));
}