springboot_validation : reject(), rejectValue()
This commit is contained in:
@@ -108,7 +108,7 @@ public class ValidationItemControllerV2 {
|
||||
return "redirect:/validation/v2/items/{itemId}";
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
// @PostMapping("/add")
|
||||
public String addItemV3(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) {
|
||||
|
||||
// 검증 로직
|
||||
@@ -124,7 +124,39 @@ public class ValidationItemControllerV2 {
|
||||
if (item.getPrice() != null && item.getQuantity() != null ) {
|
||||
int resultPrice = item.getPrice() * item.getQuantity();
|
||||
if (resultPrice < 10000) {
|
||||
bindingResult.addError(new ObjectError("item", new String[]{"totalPriceMin"}, new Object[]{10000, resultPrice}, null;
|
||||
bindingResult.addError(new ObjectError("item", new String[]{"totalPriceMin"}, new Object[]{10000, resultPrice}, null));
|
||||
}
|
||||
}
|
||||
|
||||
// 검증 실패시
|
||||
if (bindingResult.hasErrors()) {
|
||||
return "validation/v2/addForm";
|
||||
}
|
||||
|
||||
// 검증 성공시
|
||||
Item savedItem = itemRepository.save(item);
|
||||
redirectAttributes.addAttribute("itemId", savedItem.getId());
|
||||
redirectAttributes.addAttribute("status", true);
|
||||
return "redirect:/validation/v2/items/{itemId}";
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
public String addItemV4(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) {
|
||||
|
||||
// 검증 로직
|
||||
if (!StringUtils.hasText(item.getItemName())) {
|
||||
bindingResult.rejectValue("itemName", "required");
|
||||
}
|
||||
if (item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000) {
|
||||
bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null);
|
||||
}
|
||||
if (item.getQuantity() == null || item.getQuantity() >= 9999) {
|
||||
bindingResult.rejectValue("quantity", "max", new Object[]{9999}, null);
|
||||
}
|
||||
if (item.getPrice() != null && item.getQuantity() != null ) {
|
||||
int resultPrice = item.getPrice() * item.getQuantity();
|
||||
if (resultPrice < 10000) {
|
||||
bindingResult.reject("totalPriceMin");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user