이메일 중복체크를 하는데 오류가 안 던져졌다!
@GetMapping("/save")
public String saveForm(Model model){
model.addAttribute("member",new MemberSaveDTO());
return "/member/save";
}
//회원가입
@PostMapping("/save")
public String save(@Validated @ModelAttribute MemberSaveDTO memberSaveDTO, BindingResult bindingResult) throws IllegalStateException, IOException {
if(bindingResult.hasErrors()) {
return "/member/save";
}
try {
ms.save(memberSaveDTO);
}catch (IllegalStateException e){
bindingResult.reject("emailCheck",e.getMessage());
return "/member/save";
}
return "redirect:/member/login";
}
이렇게 했더니
java.lang.IllegalStateException 너 왜 안던져졌니?
고민해본 결과
@PostMapping("/save")
public String save(@Validated @ModelAttribute("member") MemberSaveDTO memberSaveDTO, BindingResult bindingResult) throws IllegalStateException, IOException {
@ModelAttribute("member") MemberSaveDTO memberSaveDTO 의 ("member")요놈을 빼먹은 것이었다. 그래서 위의 getmapping에서 model로 담은 데이터를 못 받아 와서 다시 getmapping의 saveForm에 던지지 못한 것 같다.
혼자 한 번 만들어 봤을 때 같은 실수를 했던 것 같은데 같은 실수를 반복하지 않도록 주의해야겠다!!
오류가 짜증나고 답답하긴 해도 오류덕분에 많이 배운다.