ํฐ์คํ ๋ฆฌ ๋ทฐ
์ค๋ณตํ์ธ์ด ํ์ํ ํ๋๋ ์ด๋ฉ์ผ๊ณผ ์์ด๋.
์ค๋ณตํ์ธ์ ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. ์ ์ผ ํฌ๊ฒ๋ ์ค๋ณตํ์ธ์ ๋๋ฌ์ ํ์ธํ๋ ๋ฐฉ๋ฒ๊ณผ ์ค์๊ฐ์ผ๋ก ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ๋๋ ์ค์๊ฐ ๋น๋๊ธฐ๋ก ํ์ธํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์ค๋ณตํ์ธ์ ํ๋ค.
mapper์์ ๊ฐฏ์๋ฅผ ๋ฐํํ๋ sql์ ์์ฑํ์๋ค. ๊ฐ์ ์ด ๋์ด์๋ ํ์์ด๋ผ๋ฉด 1์ ๋ฐํ, ๊ฐ์ ์ด ๋์ด์์ง ์์ผ๋ฉด 0์ ๋ฐํํ๋ค.
Controller
UsersController
//์ด๋ฉ์ผ ์ค๋ณตํ์ธ ์ฒดํฌ ์์ฒญ
@PostMapping("/emailCheck")
public Map<String, Object> confirmEmail(@RequestBody String userEmail) throws Exception {
//ํด๋ผ์ด์ธํธ์ ๋น๋๊ธฐ ํต์ ์ผ๋ก ๋ฐ์์ค์ผํ๋๊น @ReqeustBody๋ฅผ ์ฌ์ฉํ๋ค.
//๊ฐํ์ธ
System.out.println("์ค๋ณต ํ์ธ ์์ฒญ๋ ์ด๋ฉ์ผ : " + userEmail);
Map<String, Object> data = new HashMap<>();
//์๋น์ค ์ธก์ ์์ฒญ
int result = usersService.isDuplicateEmail(userEmail);
if(result == 0) {
System.out.println("์ด๋ฉ์ผ ์ฌ์ฉ ๊ฐ๋ฅ!");
data.put("confirm", "OK");
} else {
System.out.println("์ด๋ฉ์ผ ์ค๋ณต! ์ฌ์ฉ ๋ถ๊ฐ!");
data.put("confirm", "NO");
}
return data;
}
//์์ด๋ ์ค๋ณตํ์ธ ์ฒดํฌ ์์ฒญ
@PostMapping("/idCheck")
public Map<String, Object> confirmId(@RequestBody String userId) throws Exception {
//ํด๋ผ์ด์ธํธ์ ๋น๋๊ธฐ ํต์ ์ผ๋ก ๋ฐ์์ค์ผํ๋๊น @ReqeustBody๋ฅผ ์ฌ์ฉํ๋ค.
//๊ฐํ์ธ
System.out.println("์ค๋ณต ํ์ธ ์์ฒญ๋ ์์ด๋ : " + userId);
Map<String, Object> data = new HashMap<>();
//์๋น์ค ์ธก์ ์์ฒญ
int result = usersService.isDuplicateEmail(userId);
if(result == 0) {
System.out.println("์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅ!");
data.put("confirm", "OK");
} else {
System.out.println("์์ด๋ ์ค๋ณต! ์ฌ์ฉ ๋ถ๊ฐ!");
data.put("confirm", "NO");
}
return data;
}
์์ฒญ URI๋ ๊ฐ๊ฐ emailCheck, idCheck
๋น๋๊ธฐ ํต์ json์ผ๋ก ๋ณด๋ด๋ ค๋ฉด map์ด๋ ๊ฐ์ฒด๋ก ๋ณด๋ด์ผํ๋ค. ํด๋ผ์ด์ธํธ์์ ๋ฐ์ดํฐ ํ๋๋ฅผ ๋ฐ๋๋ฐ ๋น๋๊ธฐ ํต์ ์ผ๋ก ๋ฐ์์ผํ๋๊น @RequestBody๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ธ์จ๋ค.
์๋น์ค ์ธก์ ์์ฒญํด์ result๊ฐ 0์ด๋ฉด ์ฌ์ฉ๊ฐ๋ฅ 1์ด๋ฉด ์ฌ์ฉ๋ถ๊ฐ
Service
UsersService
//์ด๋ฉ์ผ ์ค๋ณตํ์ธ ์ฒ๋ฆฌ
@Override
public int isDuplicateEmail(String email) throws Exception {
return usersDAO.isDuplicateEmail(email);
}
//์์ด๋ ์ค๋ณตํ์ธ ์ฒ๋ฆฌ
@Override
public int isDuplicateId(String id) throws Exception {
return usersDAO.isDuplicateId(id);
}
controller์ dao ์ฐ๊ฒฐํ๋ service๋จ ์์ฑ
View
join.jsp
//์ด๋ฉ์ผ ์
๋ ฅ๊ฐ ๊ฒ์ฆ
$('#user_email').on('keyup', function(){
console.log($(this).val());
//๊ณต๋ฐฑํ์ธ
if($('#user_email').val() === ""){
$('#email_msg').html('<i style="color: red" class="far fa-times-circle"></i>');
chk1 = false;
//์ด๋ฉ์ผ ์ ํจ์ฑ ๊ฒ์ฆ
} else if(!getMailCheck.test($('#user_email').val())){
$('#email_msg').html('<i style="color: red" class="far fa-times-circle"></i>');
chk1 = false;
//์ด๋ฉ์ผ ์ค๋ณตํ์ธ ๋น๋๊ธฐ ์ฒ๋ฆฌ
} else {
const email = $('#user_email').val();
$.ajax({
type: "POST",
url: "/myapp/user/emailCheck",
headers: {
"Content-Type": "application/json",
"X-HTTP-Method-Override": "POST"
},
data: email,
datatype: "json",
success: function(data){
console.log(data);
if(data.confirm === "OK"){
$('#email_msg').html('<i style="color: #262626;" class="far fa-check-circle"></i>');
chk1 = true;
} else {
$('#email_msg').html('<i style="color: red" class="far fa-times-circle"></i>');
chk1 = false;
}
},
error: function(error){
console.log("error : " + error);
}
});
}
});
ajax๋ก ์ค๋ณตํ์ธ ์์ฒญ์ ๋ณด๋ผ๊ฑด๋ฐ ํด๋น inputํ๊ทธ์ ์ด๋ฒคํธ๋ฅผ ๊ฑธ์ด๋๋๋ค.
keyup -> ํ๊ธ์ ์ธ๋๋ง๋ค ํจ์๊ฐ ํธ์ถ๋๋ค. console.log($(this).val()); ๋ก ์ฝ์์์ ๊ฐ์ด ์ ์ฐํ๋์ง ํ์ธ
๋ฐ์ดํฐ ํ์ ์ ๋์์ค๋๊ฒ map์ด๋๊น JSON์ผ๋ก ์์ฑํด์ค๋ค. data.confirm์์ ํ์ธ ํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ด๋ฉ์ผ์ ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ๋ณผ ์ ์๋๋ก ์ฒ๋ฆฌ ํด์ค๋ค.
์์ด๋๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฑ ํด ์ฃผ์๋ค.
'Project > Instagram' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[spring] ํด๋ก ์ฝ๋ฉ06 User - ๋ก๊ทธ์์ (0) | 2020.04.08 |
---|---|
[spring] ํด๋ก ์ฝ๋ฉ05 User - ๋ก๊ทธ์ธ, ์ธ์ (0) | 2020.04.08 |
[spring] ํด๋ก ์ฝ๋ฉ03 User - ํ์๊ฐ์ (0) | 2019.11.29 |
[spring] ํด๋ก ์ฝ๋ฉ02 User - Model, Repository, Mapper, Test, Service, Controller (0) | 2019.11.29 |
[spring] ํด๋ก ์ฝ๋ฉ01 ๊ณํ, ์ด๊ธฐ์ค์ , Git (0) | 2019.11.28 |
- Total
- Today
- Yesterday
- ์จ๋ฆฌ์์ค
- ๋ณ๋ช ์ฒ๋ฆฌ
- Java
- typeAliases
- ๋ถํธ ์๋์์ฑ
- ์ดํด๋ฆฝ์ค ์ค์น
- ๊ฒ์ํ ์กฐํ
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- java jdk ์ค์น
- ์๋ฐ
- ๊ฒ์ํ ์ญ์
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- Algorithm
- ๊ฒ์๋ฌผ ์ญ์
- ๊ฐ๋ฐ
- tomcat์ค์น
- ์๊ณ ๋ฆฌ์ฆ
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- mysql์ค์น
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- java ํ๊ฒฝ๋ณ์
- ๊ฒ์๋ฌผ์กฐํ
- ์๋ฃ๊ตฌ์กฐ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |