반응형
Bean Validation 수정에 적용하기
상품 수정에도 검증을 적용했다.
public String edit(@PathVariable Long itemId, @Validated @ModelAttribute Item
item, BindingResult bindingResult)
Item 모델 객체에 @Validated를 추가해 줬다.
//특정 필드 예외가 아닌 전체 예외
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()) {
log.info("errors={}", bindingResult);
return "validation/v3/editForm";
}
검증 오류가 발생하게 되면 editForm으로 이동하는 코드도 추가했다.
.field-error {
border-color: #dc3545;
color: #dc3545;
}
css를 추가해 주고
<label for="itemName" th:text="#{label.item.itemName}">상품명</label>
<input type="text" id="itemName" th:field="*{itemName}"
th:errorclass="field-error" class="form-control">
<div class="field-error" th:errors="*{itemName}">
상품명 오류
</div>
</div>
상품명 오류 코드를 가져와서 넣어주었다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : Form 전송 객체 분리하여 개발하기 (0) | 2022.02.17 |
---|---|
[Spring Boot] : Bean Validation 한계와 해결하기 위한 groups (0) | 2022.02.16 |
[Spring Boot] : Bean Validation Obejct 오류 (0) | 2022.02.16 |
[Spring Boot] : Bean Validation 에러 코드 (0) | 2022.02.16 |
[Spring Boot] : Bean Validation 소개 및 스프링 적용하기 (0) | 2022.02.14 |
댓글