12_ajax 이메일 중복체크_중복체크 구현 완료
by 볼빵빵오춘기MemberController
Controller에 데이터가 넘어오는지까지만 확인만 했지만 DB에 실제로 체크를 해봐야한다.
emailCheck()를 통해 DB에서 이미 받아온 memberEmail이 있는지 없는지 확인한다.
@PostMapping("/member/email-check")
public @ResponseBody String emailCheck(@RequestParam("memberEmail") String memberEmail) {
System.out.println("memberEmail = " + memberEmail);
String checkResult = memberService.emailCheck(memberEmail);
return "체크완료";
}
MemberService
- emailCheck하는 findByMemberEmail()을 만든적 있는데 이것을 다시 활용한다.
- if문으로 findByMemberEmail()을 사용하여email값이 있는지 없는지 확인 한다.
(여기서 조심할 점은 조회결과가 없어야 사용할 수 있다.)
public String emailCheck(String memberEmail) {
Optional<MemberEntity> byMemberEmail = memberRepository.findByMemberEmail(memberEmail);
if (byMemberEmail.isPresent()) {
// 조회결과가 있다 -> 사용할 수 없다.
return null;
} else {
// 조회결과가 없다 -> 사용할 수 있다.
return "ok";
}
}
MemberController
if 문을 써서 넘겨도 되지만 그냥 return값을 넘겨도 된다.
@PostMapping("/member/email-check")
public @ResponseBody String emailCheck(@RequestParam("memberEmail") String memberEmail) {
System.out.println("memberEmail = " + memberEmail);
String checkResult = memberService.emailCheck(memberEmail);
// if (checkResult != null) {
// return "ok";
// } else {
// return "no";
// }
return checkResult;
}
save.html - script 부분
- 스크립트 부분에 성공부분을 완성 시켜 준다. if (res == "ok") {}else{}
- 스크립트의 if부분에서 성공여부를 html에 사용자에게 전달해준다.
success: function(res) {
console.log("요청성공", res);
if (res == "ok") {
console.log("사용가능한 이메일");
checkResult.style.color = "green";
checkResult.innerHTML = "사용가능한 이메일";
} else {
console.log("이미 사용중인 이메일");
checkResult.style.color = "red";
checkResult.innerHTML = "이미 사용중인 이메일";
}
},
'강의 따라하기 > member2' 카테고리의 다른 글
게시글 작성 완료 (0) | 2023.12.29 |
---|---|
게시판 프로젝트 (1) | 2023.12.29 |
12_ajax 이메일 중복체크_입력한 이메일 서버로 보내기 (1) | 2023.12.28 |
11_로그아웃 (0) | 2023.12.28 |
10_회원 삭제하기 (0) | 2023.12.28 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기