1 분 소요

아이디중복검사하기

순서

1.view단 작성하기

2.controller 작성하기

3.mapper작성 및 테스트

4.service 작성

5.view단 작성하기

1.view단 작성하기

  • client-board-register
	<span class="id_input_re_2">아이디가 이미 존재합니다</span>
	<span class="final_id_ck">아이디를 입력해주세요</span>

회원가입 페이지의 아이디 div 아래에 span 태그를 작성한다.

  • join.css
/* 아이디 유효성 검사  */
.id_input_re_1{
	
	display: none;
	
	 color: green;
	
	
	
}

.id_input_re_2{
	
	display: none;
	
	 color: red;
	
	
	
}

중복아이디가 존재하지 않는 경우 존재하지 않는 경우 색을 다르게 하기 위해 join.css에 클래스를 부여한다.

 

  • client-board-register
   // 아이디 중복검사
    
	$('.id_input').on('input propertychange paste', function(){
	 		
	    
	    	
		   var id = $('.id_input').val();
		    var data = {id : id}
												
			 $.ajax({
				type : "post",
				url : "/memberIdChk",
				data: data,
				
				success:function(result){
													    		
					if(result != 'fail'){
						$('.id_input_re_1').css("display", "inline-block");
			    		$('.id_input_re_2').css("display", "none");		
			    		idckCheck = true;
				} else {
						$('.id_input_re_2').css("display", "inline-block");
						$('.id_input_re_1').css("display", "none");		
						idckCheck = false;
				}
										  
		}
											    	
	   }); 
											    
	 });

input propertychange paste: 실시간 변화가 있을 때 실행된다.

아이디 중복 메서드에 다음 코드를 추가해준다.

 

2.Controller 작성

  • memberController.java
	// 아이디 중복 체크
	@RequestMapping(value = "/memberIdChk", method = RequestMethod.POST)
	@ResponseBody
	public String memberIdChkPOST(String id) throws Exception {

		System.out.println("memberIdChk() 진입");

		int result = service.idCheck(id);

		if (result != 0) {

			return "fail";
		} else {
			return "success";
		}
	}

@ResponseBody 어노테이션을 이용하여 ajax의 메서드의 결과값이 반환 되도록한다.

service.idCheck(memberid)의 결과를 int 형 변수에 저장 한다

존재하면 1 존재하지 않으면 0으로 반환한다.

결과가 0이 아니면 fail을 반환하고 결과가 1이 아니면 success를 반환한다.

 

3.Mapper 작성 및 테스트

  • MemberMapper.java
//아이디 중복 검사
	public int idCheck(String id);

 

  • MemberMapper.xml

	<!-- 아이디 중복 검사 -->
	<select id="idCheck" resultType="int">
		select count(*) from member where id = #{id,jdbcType=VARCHAR}
	</select>
	

mapper를 작성하고 테스트를 진행한다.

Mapper 테스트하기

  • memberTest.java
	@Test
		public void idCheck() throws Exception{
	
		String id ="test";
			String id2= "ddd";
			mapper.idCheck(id);
			mapper.idCheck(id2);
			
		}

4.Service 작성

  • Memberservice.java

	//아이디중복검사
	public int idCheck(String id) throws Exception;

service 인터페이스로 작성한다.

 

  • Memberserviceimpl.java
//아이디 중복체크
	@Override
	public int idCheck(String id) throws Exception {

		System.out.println("idCheck service..");

		return mapper.idCheck(id);
	}

인터페이스를 상속받게 코드를 작성한다.

 

5.view단 작성하기

success:function(result){
													    		
					if(result != 'fail'){
						$('.id_input_re_1').css("display", "inline-block");
			    		$('.id_input_re_2').css("display", "none");		
			    		idckCheck = true;
				} else {
						$('.id_input_re_2').css("display", "inline-block");
						$('.id_input_re_1').css("display", "none");		
						idckCheck = false;
				}
										  
		}
											    	
	   }); 
											    
	 });


success 메서드에 먼저 controller로 부터 데이터가 넘어오면 join.css에서 작성한 클래스가 작성되게 추가한다.

댓글남기기