springboot_validation : bean validation - object error handling

This commit is contained in:
haerong22
2021-07-17 11:38:14 +09:00
parent aa48d790d7
commit c5da0f0fe8
2 changed files with 9 additions and 0 deletions

View File

@@ -2,12 +2,14 @@ package hello.itemservice.domain.item;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import org.hibernate.validator.constraints.ScriptAssert;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
//@ScriptAssert(lang = "javascript", script = "_this.price * _this.quantity >= 10000", message = "총 합은 10000원 이상 이다.")
public class Item {
private Long id;

View File

@@ -43,6 +43,13 @@ public class ValidationItemControllerV3 {
@PostMapping("/add")
public String addItem(@Validated @ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) {
if (item.getPrice() != null && item.getQuantity() != null ) {
int resultPrice = item.getPrice() * item.getQuantity();
if (resultPrice < 10000) {
bindingResult.reject("totalPriceMin", new Object[]{10000, resultPrice}, null);
}
}
// 검증 실패시
if (bindingResult.hasErrors()) {
return "validation/v3/addForm";