Inflearn Community Q&A
수정하면 검증 로직이 작동을 안해요
Written on
·
354
0
상품 등록시에는 널일 경우 널 에러가 발생하는데 상품 수정시에는 널이어도 에러가 발생하지 않습니다
도메인에 bean validation 설정 컨트롤러 함수에 @Validated 설정 한뒤
수정폼에서 상품 이름 null 로 해도 그대로 업데이트가 됩니다
이유가 무엇일까요?
github:
https://github.com/hyunsokstar/study-spring-mvc
https://github.com/hyunsokstar/study-spring-mvc/blob/main/validation3-start/src/main/java/hello/itemservice/web/validation/ValidationItemControllerV3.java
그리고 jpa 강의에서는 빈에 검증로직 안하는게 맞다고 하시지 않았나요? jpa 쓸때도 빈에 검증 로직 등록해도 상관 없나요?
springMVC
Answer 1
0
yh
Instructor
안녕하세요. dktmvktm님
@Validated 위치가 잘못되었습니다. 다음을 참고해서 수정해주세요.
[기존 코드]
@PostMapping("/{itemId}/edit")
public String edit(@Validated @PathVariable Long itemId, @ModelAttribute Item item, BindingResult bindingResult, Model mode) {
[변경 코드]
@PostMapping("/{itemId}/edit")
public String edit(@PathVariable Long itemId, @Validated @ModelAttribute Item item, BindingResult bindingResult, Model mode) {
Q: jpa 강의에서는 빈에 검증로직 안하는게 맞다고 하시지 않았나요? jpa 쓸때도 빈에 검증 로직 등록해도 상관 없나요?
-> 이 경우 강의 예제여서 단순화 한 것이고, 실제로는 폼 데이터를 통해서 검증하고, 엔티티에는 이런 검증 로직을 빼는 것이 좋습니다. 강의에서 이후에 이 부분도 설명드립니다^^
추가로 강의 소스코드는 git을 private으로 사용해주세요^^
감사합니다.





