<script>
// 중복회원 검사 0이면 중복회원 또는 무확인 1이면 중복회원검사 완료
let checkDuplicatedMember = 0
/**
* 중복회원 검사
* @returns {Promise<void>}
*/
async function duplicatedMember() {
let memberId = document.getElementById("memberId").value;
let checkWords = document.getElementById("duplicatedMember");
let URL = "http://localhost:8080/duplicatedMember"
let options = {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
memberId: memberId
})
}
let response = await fetch(URL, options)
let text = await response.text()
if (text == 0) {
checkDuplicatedMember = 1;
checkWords.innerText = "사용가능한 회원 아이디 입니다.";
} else {
checkDuplicatedMember = 0;
checkWords.innerText = "다른 아이디를 사용해 주세요.";
}
}
/**
* 비밀번호 일치 확인
* @returns {boolean}
*/
function check() {
let password1 = document.getElementById("password1").value;
let password2 = document.getElementById("password2").value;
if(checkDuplicatedMember == 1){
if (password1 === "" || password2 === "") {
alert("비밀번호를 입력해주세요.");
} else {
if (password1 === password2) {
return true;
} else
alert("일치하는 비밀번호를 입력해주세요.");
return false;
}
}else {
alert("회원 중복 확인해주세요.")
return false
}
}
</script>
중복확인을 클릭하게 되면function duplicatedMember()에서
memberId가 fetch api를 통해 DB에서 아이디 중복을 확인하고
아이디가 중복일 경우 0을 반환 중복이 아닐경우 1을 반환한다.
if문을 써서 중복을 구분하고 document를 이용해 중복 메시지를 표시한다.
function check() 에서는 가입을 누를시 checkDuplicatedMember변수를 통하여
중복확인이 안되었을 경우 가입이 안되도록 제한을 걸어두었다.
ort Healthduo.demo.service.MemberService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Slf4j
public class memberRestController {
private final MemberService memberService;
/**
* 중복회원 검사
* @param memberId
* @return
* 중복회원이 아니면 0 중복회원이면 1
*/
@PostMapping("duplicatedMember")
public int duplicatedMember(@RequestParam("memberId") String memberId) {
log.info("duplicatedMember(controller start)");
int checkIdNumber = memberService.duplicatedMember(memberId);
log.info("checkIdNumber = " + checkIdNumber);
return checkIdNumber;
}
}
controller
@Override
public int duplicatedMember(String memberId) {
log.info("duplicatedMember(Service start)");
int checkIdNumber;
Member findId = memberRepository.findById(memberId).orElse(null);
if (findId == null) {
checkIdNumber = 0;
} else {
checkIdNumber = 1;
}
return checkIdNumber;
}
}
service
Member findId = memberRepository.findById(memberId).orElse(null);
->SpringData jpa 를 사용했다.
'개발일기 > 프로젝트 일기' 카테고리의 다른 글
HealthDuo - 무한대댓글(JPA) (0) | 2022.06.23 |
---|---|
HealthDuo - RedirectAttributes (0) | 2022.06.21 |
HomeTheater-좌석페이지 (0) | 2022.06.19 |
[mysql] java.sql.sqlnontransientconnectionexception:public key retrieval is not allowed (0) | 2022.06.08 |
HomeTheater-예약페이지 (0) | 2022.06.08 |