티스토리 뷰
Member.java
@PostMapping("/checkMemberId")
public ResponseEntity<String> checkMemberId(@RequestBody String memberId) {
int count = memberService.countByMemberId(memberId);
if (count > 0) {
return ResponseEntity.ok("exists"); // 이미 존재하는 회원 ID
} else {
return ResponseEntity.ok("available"); // 존재하지 않는 회원 ID
}
}
CreateMember.jsp
<div class="form-group row">
<label class="col-sm-2 control-label">회원ID</label>
<div class="col-sm-3">
<form:input path="memberId" id="username" name="username" class="form-control" />
<div id="usernameMessage"></div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 control-label">비밀번호</label>
<div class="col-sm-3">
<form:input path="password" name="password" class="form-control" />
<div id="passwordMessage"></div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- 아이디 유효성 검사 -->
<script>
$(document).ready(function() {
$('#username').on('blur', function() {
var memberId = $(this).val();
// 입력된 memberId가 5글자 이상인지 확인
if (memberId.length < 5) {
$('#usernameMessage').html('<span style="color:red;">회원 ID는 5글자 이상이어야 합니다.</span>');
return; // 5글자 미만이면 AJAX 호출을 하지 않음
}
$.ajax({
type: "POST",
url: "/waguwagu/member/checkMemberId",
contentType: "text/plain",
data: memberId,
success: function(response) {
if (response === "exists") {
$('#usernameMessage').html('<span style="color:red;">이미 사용 중인 회원 ID입니다.</span>');
} else {
$('#usernameMessage').html('<span style="color:green;">사용 가능한 회원 ID입니다.</span>');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
}
});
});
});
</script>
<script>
$(document).ready(function() {
$('#password').on('blur', function() {
var password = $(this).val();
// 입력된 비밀번호가 5글자 이상이고 특수 문자를 포함하는지 확인
if (password.length < 5 || !/[!@#$%^&*(),.?":{}|<>]/.test(password)) {
$('#passwordMessage').html('<span style="color:red;">비밀번호는 5글자 이상이어야 하며, 특수 문자를 포함해야 합니다.</span>');
} else {
$('#passwordMessage').html(''); // 조건에 충족할 경우 메시지 삭제
}
});
});
</script>
'코딩 > spring' 카테고리의 다른 글
파라미터 바인딩하기 위한 애노테이션 (0) | 2024.05.03 |
---|---|
[23주 4일차] 리뷰 수정폼 ajax로 불러와서 띄워주기 (ajax는 json데이터 형식으로 반환!) (0) | 2024.03.14 |
[23주 3일차] 매칭확인 / 게임&매칭 등록시 팀 정보 가져가기(db의 이미지이름 가져와서 form으로 다시 입력하기) (0) | 2024.03.13 |
[23주 2일차] 남은 시간 구현 (1) | 2024.03.12 |
[23주 1일차] 팀 가입신청 (0) | 2024.03.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday