springboot_validation : bean validation - object error handling
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user