일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- DI
- 의존관계
- 싱글톤
- 서블릿
- HttpServletResponse
- 오블완
- 코드트리조별과제
- ocp
- objecterror
- 코딩테스트
- http 메시지 컨버터
- 참조변수
- 다형성
- 백준
- equals()
- 김영한
- 추상클래스
- 테스트코드
- java
- JSON
- @configuration
- fielderror
- 티스토리챌린지
- 스프링
- html form
- 인터페이스
- 프록시
- 오버라이딩
- 코드트리
- 스프링컨테이너
- Today
- Total
목록2024/09/18 (3)
minOS
Bean Validation - groups동일한 모델 객체를 등록할 때와 수정할 때 각각 다르게 검증하는 방법을 알아보자.1) BeanValidation의 groups 기능을 사용한다. 2) Item을 직접 사용하지 않고, ItemSaveForm, ItemUpdateForm 같은 폼 전송을 위한 별도의 모델 객체를 만들 어서 사용한다. 1) BeanValidation의 groups 기능을 사용이런 문제를 해결하기 위해 Bean Validation은 groups라는 기능을 제공한다.예를 들어서 등록시에 검증할 기능과 수정시에 검증할 기능을 각각 그룹으로 나누어 적용할 수 있다. 저장용 groups 생성public interface SaveCheck {} 수정용 groups 생성public interfac..
오브젝트 오류Bean Validation에서 특정 필드( `FieldError` )가 아닌 해당 오브젝트 관련 오류( `ObjectError` )는 어떻게 처리할 수 있을까?`@ScriptAssert()` 를 사용하면 된다. @Data @ScriptAssert(lang = "javascript", script = "_this.price * _this.quantity >= 10000") public class Item {//...}실행해보면 정상 수행되는 것을 확인할 수 있다. 메시지 코드도 다음과 같이 생성된다. 메시지 코드`ScriptAssert.item``ScriptAssert`그런데 실제 사용해보면 제약이 많고 복잡하다. 그리고 실무에서는 검증 기능이 해당 객체의 범위를 넘어서는 경우들도 종종 등..
Bean Validation특정 필드에 대한 검증 로직은 대부분 빈 값인 지 아닌지, 특정 크기를 넘는지 아닌지와 같이 매우 일반적인 로직이다.검증 기능을 지금처럼 매번 코드로 작성하는 것은 상당히 번거롭다. public class Item { private Long id; @NotBlank private String itemName; @NotNull @Range(min = 1000, max = 1000000) private Integer price; @NotNull @Max(9999) private Integer quantity; } 이런 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화하고, 표준화 한 것이 바로 Bean Va..