묻고답하기
ID로 군번을 받게 하고 싶습니다 도와주세요 ㅜㅜ
2009.09.09 14:31
예..안녕하십니까
날씨도 더운데 모두들 고생이 많으십니다
모 사단에서 연대홈페이지 제작중인 병사입니다 ㅜㅜ
다름이 아니라 ID를 군번으로 써야겠는데,
zb4같은 경우엔 수정이 쉬웠는데 xe로 하려니 영 모르겠네요.
군번의 형식은 다음과 같습니다.
07-72001139
세번째 자리에 하이픈(-)이 들어가게 됩니다.
또한, 숫자로 시작하죠.
회원가입폼에 군번을 입력했더니 저 두개의 조건이 절 가로막는군요 흑 ㅜㅜ
팁게시판도 찾아보고 해서 로그인할때 아이디 유효성 검사(정규식으로 되어있더군요) 부분은 숫자가 되게 처리했는데,
문제는 가입폼입니다.
정보를 모두 입력하고, 가입버튼인가요? submit버튼이... 그걸 누르면
사용불가한 아이디라고 뜨면서 가입이 안됩니다.
어떤 파일을 어떻게 수정해야 하는지,
도움 부탁드립니다 ㅜㅜ
댓글 4
-
라르게덴
2009.09.09 14:39
-
마에야히
2009.09.09 14:52
아이디를 k붙여서 할순 없구요 ㅜ
말씀하신 procMemberInsert를 살펴봤는데 여기선 insert만 하는거 같은데요?
필드에 입력된 값이 유효한 값인지 필터링 하는 부분이 어딘지 아시나요?ㅜㅜ..
어흑 근데 그것도 정규식이면 안되는데 ㅜㅜ..
-
라르게덴
2009.09.09 15:24
유효성 하셨다고 하셔서 다른 부분 이야기 했었는데요.
xe/common/js/xml_js_filter.js 에서 정규식 추가하셔야 합니다.
XmlJsFilterExecuteFilter() 함수에 보시면 user_id 에 검사 내용 들어가 있지요.
case "user_id" :
var regx = /^[0-9a-zA-Z]+([_0-9a-zA-Z]+)*$/;
return regx.test(value);
break;이렇게 바꾸세요.
-
khongchi
2009.09.09 18:07
군번 형식대로만 받으려면 아래의 정규식을 쓰시면 될거 같은데요??
var regx = /^[0-9]{2}(-)[0-9]{8}$/;
설계가 그렇게 되어있어서 숫자만으로 기록 되지 않습니다.
제일 만족할만한 경우라면 signup_form.html에 user_id 부분에 value 값을 추가시켜 놓는다 정도 일 겁니다.
<input type="text" name="user_id" value="" class="inputTypeText"/>
<input type="text" name="user_id" value="k" class="inputTypeText"/>
아이디는 k07-72001139 혹은 k0772001139 이렇게 만드시는 것이지요.
core 부분 수정이 가능하시는 실력자라시면(이미 로그인 관련 내용을 처리했다면)
xe/modules/member/member.controller.php procMemberInsert() 함수에서 수정해보시면 되겠네요.