-
Spring @Valid와 BindingResult 파라미터Spring 2021. 12. 21. 20:20
@Valid
필드 값을 기본 값으로 가져가고 싶을 때, Controller에 @Valid 어노테이션을 선언할 수 있다.
//@Valid 예시 @PostMapping("/members/new") public String create(@Valid MemberForm form){ Address address = new Address(form.getCity(), form.getStreet(), form.getZipcode()); Member member = new Member(); member.setName(form.getName()); member.setAddress(address); memberService.join(member); return "redirect:/"; }
//NotEmpty Valid @NotEmpty(message = "회원 이름은 필수 입니다.") private String name;
만약 위와 같이 선언했는데, 폼에서 이름을 입력하지 않는다면 에러를 발생시킨다.
BindingResult 파라미터
//BindingResult 파라미터 예시 @PostMapping("/members/new") public String create(@Valid MemberForm form, BindingResult result){ if(result.hasErrors()){ return "members/createMemberForm"; } Address address = new Address(form.getCity(), form.getStreet(), form.getZipcode()); Member member = new Member(); member.setName(form.getName()); member.setAddress(address); memberService.join(member); return "redirect:/"; }
위는 BindingResult 파라미터를 이용해 만약 에러가 발생한다면 "members/createMemberForm" 화면으로 넘어가도록 설정해준것이다.
'Spring' 카테고리의 다른 글
@Valid, BindingResult (0) 2022.01.06 @RestController (0) 2022.01.06 Spring Controller Model model (0) 2021.12.21 스프링 구조의 이해 (0) 2021.11.30 MVC 프레임워크 생성 (0) 2021.11.28