xe 기본회원가입품 연락처항목 공백&숫자 유효성검사 질문입니다.
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 5.x |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
안녕하세요,
자료글 공부만 하다가 질문을 하나 해봅니다.,
지금 사이트는 완성되잇는상태로 개인게시판만 운영중인데 다름이 아니라 회원가입시 연락처 필수 항목체크를 한상태이구요
다른에러는 없는듯한데 연락처란이 네모칸이 총3개자나요? 예를 들어 02 -xxx - xxxx 이렇게 나가기때문에
여기서 문제는 맨첫칸 02 이부분만 쓰거나 혹은 3칸중에 하나라도 쓰거나 혹은 아무칸에나 숫자외에 한글 혹은 영어 혹은 특수
문자등 아무거나 입력해도 이를 검사를 통하지 않은체 무시하고 회원가입처리가 이뤄지고 잇읍니다.
그래서 질문인데 이연락처 부분에 숫자외에 문자를 넣거나 빈칸을 남겨두엇을대는 연락처 유효성검사 및 체크를 해서 alert 창
메세지창을 띄워서 수정할수 잇게 하고자 합니다. 그리고 입력이 안된 부분이 잇다면 바로 그칸으로 커서가 자동이동을 하게끔
하고 싶습니다.
초보자고 언어관련 문외한이다보니 혼자하기가 어렵고 버겁스런 관계로 며칠 해보다가 안되서 여기에 질문을 올립니다.
다시정리하면..
1. 회원가입시 연락처를 필수로 받고 싶다.
2. 연락처란에 일번 전화번호나 or 핸드폰을 반드시 입력받고 싶다.(연락처란에는 반드시 숫자만 입력하도록(alert ;숫자만 입력
해야 합니다..자동으로 수정할위치로 커서이동)) 해야하며 3칸중 한칸이라도 비어잇다면 바로 에러메시지를 날려서 ( alert 연락처에
빈칸이 존재합니다.(자동으로 수정할위치로 커서이동).로 알려준다)
3.연락처 란에 가급적 맨 첫칸에 번호를 지정할수 잇는 지역번호및 핸드폰 (02,051,...010,011...등등의 라디오 버튼을 넣고싶다)
이상입니다..^^&
고수님들의 도움을 요청합니다.
댓글 13
1. 회원가입시 연락처를 필수로 받고 싶다. => 관리자 메뉴에서 해당 항목을 필수로 체크하는 부분이 있을 거예요
2. 연락처란에 일번 전화번호나 or 핸드폰을 반드시 입력받고 싶다.(연락처란에는 반드시 숫자만 입력하도록(alert ;숫자만 입력해야 합니다..자동으로 수정할위치로 커서이동)) 해야하며 3칸중 한칸이라도 비어잇다면 바로 에러메시지를 날려서 ( alert 연락처에 빈칸이 존재합니다.(자동으로 수정할위치로 커서이동).로 알려준다)
=> 스크립트를 쓰는 게 좋습니다. (국내 회선 사용자만 가입 받는다면) 정규식을 이용해 첫번째 칸을 반드시 0으로 시작하게 하고, 두번째 칸은 0으로 시작 못하게 하고, 전체적으로는 숫자 이외에는 아예 입력을 못하게 하는 input이니 keyup 같은 이벤트를 걸어줘야 합니다(모바일을 위해 해당 필드들에 number 타입 지정을 해주면 더 좋겠구요). 그리고 만약을 위해 최종적으로도 blur나 submit 이벤트를 통해 유효성 테스트를 해서 alert 띄우고 문제되는 부분으로 커서를 이동하게 하는 focus 메소드를 걸구요.
3.연락처 란에 가급적 맨 첫칸에 번호를 지정할수 잇는 지역번호및 핸드폰 (02,051,...010,011...등등의 라디오 버튼을 넣고싶다)
=> 이것은 코어를 직접 개조하는 것도 방법이지만, 되도록이면 스크립트를 사용해서 load시 첫번째 필드를 select나 radio 형식으로 바꿔주는 게 좋을 것 같습니다.
... 세세하게 설명하면 한도 끝도 없겠지만 대략 이 정도의 접근 방법을 택하시면 괜찮을 것 같다는 생각이 드네요. 여러모로 손이 많이 가는 작업이긴 해요ㅜ 고생이 많으십니다;;
https://xetown.com/topics/1151762
(해당 애드온에 대한 자세한 설명은 링크 문서 내에 링크시킨 또 다른 문서에 있을 겁니다)
일단 링크참조는 해보겟읍니다.그리고 https://xe1.xpressengine.com/tip/19367398 , https://xe1.xpressengine.com/tip/19368936 , https://xe1.xpressengine.com/tip/16343298 , https://xe1.xpressengine.com/tip/19055818 이사이트를 참조햇읍니다만.이게 제코어버젼과 맞지않아서 인지 저 일부파일내용이 제것과 달라서 정확히 수정을 못하겟읍니다. 혹시 가능한 방법잇다면 조언부탁드립니다.감사합니다.
윤삼님.https://xe1.xpressengine.com/tip/19367398 이부분도 소스를 잘넣으면 될거 같은데 어떤 소스를 건드리는건지 알수가 없내요.
signup_form.html 이라고 있을 건데요.
거기 하단에 스크립트 구문을 넣고 적절하게 응용하시면 좋을 것 같습니다.
그래서 당장에는 적용이 안 될 겁니다.
그냥 참조해보시라고 링크 드린 건데ㅜㅜ
ap_tel_to_text.addon.php 수정
- 16행(교체) : if ( $this->act === 'dispMemberSignUpForm' )
- 20~39행 : 삭제
- 11~14행 : 삭제
write.js 수정
- 5행(교체) : var tel_text = $('input[type=tel]');
- 29행(새로 추가) : input.parent().html(input.parent().html().replace(/\-/g, ''));
혹시나해서 적용해봤지만 회원가입 전화번호입력란이 사라지더라구요 ㅠㅠ
https://xetown.com/questions/1256501#comment_1256734
회원가입 쪽은 방식이 조금 달라야 할 것 같습니다.