diff --git a/springboot_validation/src/main/java/hello/itemservice/web/validation/ValidationItemControllerV2.java b/springboot_validation/src/main/java/hello/itemservice/web/validation/ValidationItemControllerV2.java index 84803da4..f468add8 100644 --- a/springboot_validation/src/main/java/hello/itemservice/web/validation/ValidationItemControllerV2.java +++ b/springboot_validation/src/main/java/hello/itemservice/web/validation/ValidationItemControllerV2.java @@ -9,6 +9,7 @@ import org.springframework.util.StringUtils; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; +import org.springframework.validation.ValidationUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.support.RedirectAttributes; @@ -144,9 +145,10 @@ public class ValidationItemControllerV2 { public String addItemV4(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { // 검증 로직 - if (!StringUtils.hasText(item.getItemName())) { - bindingResult.rejectValue("itemName", "required"); - } + ValidationUtils.rejectIfEmptyOrWhitespace(bindingResult, "itemName", "required"); +// 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); } diff --git a/springboot_validation/src/main/resources/errors.properties b/springboot_validation/src/main/resources/errors.properties index 3effe3ca..fbc7a891 100644 --- a/springboot_validation/src/main/resources/errors.properties +++ b/springboot_validation/src/main/resources/errors.properties @@ -1,7 +1,35 @@ +#required.item.itemName=상품 이름은 필수입니다. +#range.item.price=가격은 {0} ~ {1} 까지 허용합니다. +#max.item.quantity=수량은 최대 {0} 까지 허용합니다. +#totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} + +#==ObjectError== +#Level1 +totalPriceMin.item=상품의 가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} + +#Level2 - 생략 +totalPriceMin=전체 가격은 {0}원 이상이어야 합니다. 현재 값 = {1} + +#==FieldError== +#Level1 required.item.itemName=상품 이름은 필수입니다. range.item.price=가격은 {0} ~ {1} 까지 허용합니다. max.item.quantity=수량은 최대 {0} 까지 허용합니다. -totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} +#Level2 - 생략 -required=필수 값 입니다. \ No newline at end of file +#Level3 +required.java.lang.String = 필수 문자입니다. +required.java.lang.Integer = 필수 숫자입니다. +min.java.lang.String = {0} 이상의 문자를 입력해주세요. +min.java.lang.Integer = {0} 이상의 숫자를 입력해주세요. +range.java.lang.String = {0} ~ {1} 까지의 문자를 입력해주세요. +range.java.lang.Integer = {0} ~ {1} 까지의 숫자를 입력해주세요. +max.java.lang.String = {0} 까지의 숫자를 허용합니다. +max.java.lang.Integer = {0} 까지의 숫자를 허용합니다. + +#Level4 +required = 필수 값 입니다. +min= {0} 이상이어야 합니다. +range= {0} ~ {1} 범위를 허용합니다. +max= {0} 까지 허용합니다. \ No newline at end of file