회원가입을 눌럿을 때 ID중복체크는 그냥 컨트롤로에서 처리해줬지만(조빱이라)


중복체크 버튼을 동작하기 위해선 또 컨트롤러 만들어서 하는게 좋단다.


고래서 중복체크 버튼에 온클릭주고 idCheck만들어서 호출했다.



function idCheck(){


var token = $("meta[name='_csrf']").attr("content");

var header = $("meta[name='_csrf_header']").attr("content");

var text = $("#userId").val();


        var regexp = /[0-9a-zA-Z]/; // 숫자,영문,특수문자

        // var regexp = /[0-9]/; // 숫자만

//var regexp = /[a-zA-Z]/; // 영문만

        

        for(var i=0; i<text.length; i++){

            if(text.charAt(i) != " " && regexp.test(text.charAt(i)) == false ){

alert("한글이나 특수문자는 입력불가능 합니다.");

$('#userId').val("");

return;

}

    if (text.length < 4) {

    alert('ID는 4자 이상입니다.');

    $('#userId').val("");

    return;

    }

            else{

           

            var userId = document.getElementById('userId').value;

        var data2 = {userId: userId};

        var data = JSON.stringify(data2);

       

            $.ajax({

        type : "POST",

        url : "<c:url value='/join/IdCheck'/>",

        data : data,

        cache : false,

        contentType : "application/json;charset=UTF-8",

        beforeSend : function (xhr)

        {

        xhr.setRequestHeader(header, token); 

        },

        success :function(data){

        //alert(data);

        //console.log(data);

        if (data == 1) {

        alert("이미존재하는 아이디 입니다.");

        $('#userId').val("");

        return false;

        }else{

        alert("사용가능한 아이디 입니다.");

        return false;

        }

        },

        error:function(request,status,error){

        alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);

        }

        });

            return;

            }

        }

}



중복체크는 쿼리할때 COUNT를 사용해서


       SELECT COUNT(*)

       FROM member

       WHERE userid = #{userId}


#{userId}이녀석이 있으면 카운트가 1을 반환하고 없으면 0을 반환한다.

왜냐면 카운트는 저녀석이 포함된 행의 갯수를 가져오는데 아이디값이 있으면 1개의 행

없으면 0개의 행을 가져오기 때문이다.


그리고 다시 아작스에서 받아서 처리해주긔!



'IT' 카테고리의 다른 글

CentOS 6.7 iso  (0) 2017.07.11
Spring 회원가입 ID중복 검사  (0) 2017.03.14
jsp에서 controller로 데이터 ajax로 보내기  (0) 2017.03.08

+ Recent posts