ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.