전화번호 형식의 사용자정의 확장변수를 배열형으로 입력 및 저장하는 방식은 영 불편하네요.


세 단위로 나눠서 입력하는 것도 불편하고, 입력 필드 형식도 tel이 아니라 text여서 모바일에서 입력하는 것도 만족스럽지만은 않습니다.


검색하는 것도 불편하기 짝이 없어요.

DB를 까보니 010|@|0000|@|0000 같은 식으로 저장이 되더라구요. 그러니 검색할 때도 하이픈이 아니라 |@|라는 괴랄한 검색어로 입력해야 하구요;;;


혹시 이 부분 개선할 좋은 아이디어들 없으십니까.

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • ?
    그런데 배열화 안 해두고 그냥 text 로 해두면
    010- 도 있고 010. 으로도 있고 그냥 띄워쓰기 하시는 분도 있고
    규칙이 다 다르다보니, 오히려 추후에는 검색이 안 되는 문제가 생기더군요
    저렇게하면 차라리 DB 에는 일관성있게 들어가니..
    검색시 |@| 처리해야하는 부분이 있긴하지만 그래도 불규칙적인것보다는 좋더군요

    |@| 가 들어가는건.. XE 의 상위규칙으로 ( common/js 쪽에 정의되어있을거예요 )
    값은 이름의 배열형태의 input 이 들어가면.. 자동으로 |@| 처리되도록 구현되어있습니다.
  • ? profile
    방금해보니 입력하는 건 js로 어떻게 컨트롤할 수 있겠는데 여전히 검색 처리가 까다롭네요.
    말씀하신대로 코어를 더 뜯어봐야겠어요.
  • profile
    저는 애초부터 전화번호를 확장변수로 지정하면
    input 칸이 세개 있었으면 좋겠네요.
    DB에 저장할 때도 first_num second_num third_num 이런 식으로 각각 따로 저장하고
  • profile profile
    세 칸 있는 게 불편하진 않으신가보네요.
    저는 한번에 따라라락~ 하는 게 편하더라구요.

    어쨌든 DB에 어떻게 저장하고 꺼내고 검색도 할 것이냐가 관건인 것 같은데, 현행 방식이 편치만은 않은 것 같아요;;
  • profile
    저도 직접 만들때는 1칸으로 만듭니다.
    자바스크립트로 형식에 제약을 걸구요.
    01X-123-1234 또는 01X-1234-1234 요렇게 입력해야지만 통과되게요.

    일부 의뢰인 중에 3칸을 고집하는 경우가 있는데.....
    왜 불편함을 강요하는지는....

    xe가 만들어졌을때는 3칸도 범용적으로 사용되었기에 그렇게 만들어진 것이 이해는 가지만...
    코어를 수정하는 것은... 왠만하면 안해야죠.
    지금와서 코어를 수정하면 기존에 쌓인 데이터때문에 문제가 좀 될테구요.

    굳이 방법을 찾자면 전화번호를 텍스트 입력으로 지정하고 애드온이나 회원가입스킨을 수정해서 자바스크립트를 추가하는 방법을 쓰겠습니다.

    var regTel = /^(01[016789]{1}|070|02|0[3-9]{1}[0-9]{1})-[0-9]{3,4}-[0-9]{4}$/;
    if(!regTel.test(값)) {
    alert("전화번호 형식 오류");
    return;
    }

    대강 이런식으로 쓰면되거든요.
    입력도 숫자와 하이픈만 되게 제약을 걸구요.
    더 편하게 하자면 특정 자리수 마다 하이픈이 들어가게 해주는 것도 넣어주면...^^
  • profile profile
    현실적으로 text 형식 사용이 가장 대안적이긴 하겠네요.
    저는 코어에서 tel 형식도 옵션으로 기본 제공됐으면 해요. 모바일 때문에요.
    기존 데이터들이 문제는 되겠지만 모듈 업데이트로 숫자만 남게한다든가 구분자를 하이픈으로 일괄 변경한다든가 하는 건 그리 어렵지 않으니까요.
    코어 업데이트시 db업데이트를 같이 포함해도 좋겠구요.

    이래저래 만만한 일만은 아니군요. 하아.. 전화번호 검색 하나 때문에 왜 이런 고민을 해야 하는지 참;;;;