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 lombok.Data;
|
||||||
import org.hibernate.validator.constraints.Range;
|
import org.hibernate.validator.constraints.Range;
|
||||||
|
import org.hibernate.validator.constraints.ScriptAssert;
|
||||||
|
|
||||||
import javax.validation.constraints.Max;
|
import javax.validation.constraints.Max;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
//@ScriptAssert(lang = "javascript", script = "_this.price * _this.quantity >= 10000", message = "총 합은 10000원 이상 이다.")
|
||||||
public class Item {
|
public class Item {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|||||||
@@ -43,6 +43,13 @@ public class ValidationItemControllerV3 {
|
|||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
public String addItem(@Validated @ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) {
|
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()) {
|
if (bindingResult.hasErrors()) {
|
||||||
return "validation/v3/addForm";
|
return "validation/v3/addForm";
|
||||||
|
|||||||
Reference in New Issue
Block a user