일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring Boot
- 그리디
- db
- transaction
- 백준
- Servlet
- 스프링 핵심 기능
- Android
- Greedy
- 스프링
- java
- JDBC
- 스프링 핵심 원리
- AOP
- 알고리즘
- spring
- jpa
- pointcut
- SpringBoot
- JPQL
- springdatajpa
- 자바
- Exception
- kotlin
- Proxy
- http
- QueryDSL
- 김영한
- 인프런
- Thymeleaf
- Today
- Total
목록BindingResult (4)
개발자되기 프로젝트
1. 목표 사용자 입력 오류 메시지가 화면에 남도록 하자. 예) 가격을 1000원 미만으로 설정시 입력한 값이 남아있어야 한다. 2. FieldError는 두 가지 생성자 제공. public FieldError(String objectName, String field, String defaultMessage); public FieldError(String objectName, String field, @Nullable Object rejectedValue, boolean bindingFailure, @Nullable String[] codes, @Nullable Object[] arguments, @Nullable String defaultMessage) objectName : 오류가 발생한 객체 이름 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RFvLz/btrfTKvny1T/4syWPJn56DazkF5JT5gEjK/img.png)
1. BindingResult?? 스프링이 제공하는 검증 오류를 보관하는 객체이다. 검증 오류가 발생하면 여기에 보관하면 된다. BindingResult 가 있으면 @ModelAttribute 에 데이터 바인딩 시 오류가 발생해도 컨트롤러가호출된다! @ModelAttribute에 바인딩 시 타입 오류가 발생하면? BindingResult 가 없으면 400 오류가 발생하면서 컨트롤러가 호출되지 않고, 오류 페이지로이동한다. BindingResult 가 있으면 오류 정보( FieldError )를 BindingResult 에 담아서 컨트롤러를 정상 호출한다. Field error in object 'item' on field 'itemName': rejected value [null]; codes []; a..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cpP3tK/btrfRpkCmRt/geBHwq5Q0TCCFERTe7yxz1/img.png)
지금부터 스프링이 제공하는 검증 오류 처리 방법 중 BindingResult를 알아보자. 1. 변경 전 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증 오류 결과를 보관 Map errors= new HashMap(); //검증 로직 if(!StringUtils.hasText(item.getItemName())){ errors.put("itemName", "상품 이름을 필수 입니다."); } } 2. BindingResult 적용 @PostMapping("/add") public String addItemV1(@ModelAtt..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rogtg/btrbqvh2ryS/JI6BtbHOChKK4LmygXzBIK/img.png)
1. memberForm 회원 가입에서 넘어오는 회원 데이터 Entity와 분리 @NotEmpty를 통한 validation가능. empty일 경우 스프링이 error띄움. @Getter @Setter public class MemberForm { @NotEmpty(message = "회원 이름은 필수입니다.") private String name; private String city; private String street; private String zipcode; } 2. MemberController createForm - @GetMapping - 해당 Get method로 해당 url 접근하면 회원가입 화면으로 이동. - 빈 MemberForm들고감. --> validation에 활용. @Con..