본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : Bean Validation 수정에 적용하기

by 오주현 2022. 2. 16.
반응형

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편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.

반응형

댓글