2008.07.02 18:11
회원가입 같은 페이지를 만들다보면 입력받을 값들이 상당히 많습니다.
이러한 값들이 실제 유효한 값인지 아닌지 판별하기가 좀 짜증나는 면이 있죠. 예전에 PHP로 회원가입 폼을 만들다보면 유효성 체크를 하기 위해서 JavaScript 로 각 필드의 값들을 체크하곤 했었습니다. (JavaScript 의 도움 없이 하려면 이 값들을 서버로 넘겨서(회원가입처리하는 php페이지) 서버에서 검증을 한 뒤에 하나라도 문제가 있으면 다시 그 화면을 표시해야되는 상당히 짜증나는 문제가 발생합니다. 그래서 클라이언트에서 해당 값들의 유효성을 체크하기 위해 JavaScript 를 이용했죠.)

물론 Flex에서도 비슷하게 해당 값(TextInput의 text 값)을 <mx:Script/> 안에서 체크하면 됩니다만, 코드를 매번 만들어야(복사해야)되니 짜증도 나고요.. ㅎ 상당히 귀찮은 면이 있었습니다. 그러나 다행이도 Flex 에서는 Validator 라는 것을 지원합니다.

유저가 유저 인터페이스에 입력하는 데이터는, 어플리케이션에 있어 적절한 내용의 경우도 있으나, 그렇지 않은 것도 있습니다. Flex 에서는, 오브젝트의 필드값이 특정의 조건에 적합하는 것을 감지하기 위해서 validator를 사용합니다. 예를 들어, 유저가 유효한 전화번호를 입력한 것을 확인하거나 string이 설정된 최소치 이상인 것이나, 우편 번호 필드에 올바른 자리수의 숫자가 포함되어 있는 것을 확인하거나 하기 위해서, validator 를 사용할 수 있습니다.

출처 : flexdocs.kr


이 Validator 는 아래와 같이 하위 Validator가 존재합니다. :
 
총 10개의 하위 Validator 가 존재하는데, Flex를 한국에서 만들지는 않아서 주민등록번호 Validator 는 존재하지 않습니다. ;) 없으면 어떻게 할까요? 그냥 체크안할 수도 없고 말이죠. 뭐 별수 있습니까? 그래서 만들었습니다!. 요즘은 회원가입시에 주민등록번호를 받지 않는 곳이 늘고 있습니다만, custom Validator를 어떻게 만들어야되는지 알아보기 위해, 흔히 만들어 보셨을 주민등록번호 Validator를 만들어 보았습니다. 주민등록번호의 유효성 체크 부분은 Flex Component 카페마요네즈라는 분이 올려주신 주민등록번호 체크 function이라는 글의 코드를 가져다가 썼습니다. (주민등록번호가 영어로는 RRN 이라더군요. RRNValidatort 라고 하면 어려울 것 같아 JuminBunhoValidator 이라고 이름지었습니다. (웃음) )

 

위의 주민등록번호 Validator를 이용하여 예제를 만들어보았습니다. 예제코드는  Flex  Reference에 Validator의 예제를 빌려왔습니다. ;)


한번 자신의 주민등록번호를 넣고 테스트해보세요. (저장되지 않으니 안심하시고... )


신고
Favicon of http://hangunsworld.com BlogIcon Han Sanghun | 2008.07.03 09:10 신고 | PERMALINK | EDIT/DEL | REPLY
웹개발자라면 누구나 한번쯤 만들어 봤을 주민번호 유효성 검사 툴이군요 ^^
전 주민번호 요구하는 사이트는 일단 가입을 보류하는데... 우리나라도 외국처럼 주민번호나 개인 정보를 입력하지 않고서도 자유롭게 인터넷을 사용할 수 있는 환경이 빨리 조성되었으면 좋겟어요.
Favicon of http://warkyman.tistory.com BlogIcon 검쉰 | 2008.07.03 09:43 신고 | PERMALINK | EDIT/DEL
간단하게 e-mail 과 비밀번호 정도로 가입해도 좋을텐데요 ;)
아니면 open ID가 활성화 된다던지 ㅎㅎ
점점 편한쪽으로 바뀌어가길 기대하고 있습니다.
방문 감사합니다.
Favicon of http://blog.jidolstar.com BlogIcon 지돌스타 | 2008.07.03 13:50 신고 | PERMALINK | EDIT/DEL | REPLY
잘봤어요~~ ㅎㅎㅎ
Favicon of http://warkyman.tistory.com BlogIcon 검쉰 | 2008.07.03 14:12 신고 | PERMALINK | EDIT/DEL
방문 감사합니다. ;)
Favicon of http://lostsin.tistory.com BlogIcon 시난 | 2008.07.03 18:18 신고 | PERMALINK | EDIT/DEL | REPLY
잘 봤습니다. ^^
[0-9]{6}-(1|2|3|4)[0-9]{6}
이거 한 번 써보세요.. !!!
Favicon of http://warkyman.tistory.com BlogIcon 검쉰 | 2008.07.03 18:28 신고 | PERMALINK | EDIT/DEL
아하~ 형식을 체크하는군요! ;)
생일부분을 체크하려면 /[0-9]{2}[0-1][0-9][0-3][0-9]-(1|2|3|4)[0-9]{6}/
요렇게 하면 될까요? ㅎㅎ
Favicon of http://hangunsworld.com BlogIcon Han Sanghun | 2008.07.07 00:20 신고 | PERMALINK | EDIT/DEL
역시 정규식을 잘 쓰면 코딩이 상당히 간결해 지는군요. 정규식도 공부해야 하는건가... 쩝
Favicon of http://warkyman.tistory.com BlogIcon 검쉰 | 2008.07.07 09:42 신고 | PERMALINK | EDIT/DEL
정규식이 상당히 파워풀~ 하더군요. ㅎㅎ
어디 좋은 책 없나 살펴봐야겠습니다. ㅎ
Favicon of http://jmoonyoung.tistory.com BlogIcon 무녕이 | 2008.09.04 18:11 신고 | PERMALINK | EDIT/DEL | REPLY
잘봤습니다. 상당히 도움이 될 것 같습니다. 정규식 공부하기 좋은 책 나중에 알게되면 추천해주세요 ^^
Favicon of http://warkyman.tistory.com BlogIcon 검쉰 | 2008.09.04 18:44 신고 | PERMALINK | EDIT/DEL
정규식은 책이 안보이네요 ^^;
브라이언 | 2008.09.26 12:27 신고 | PERMALINK | EDIT/DEL | REPLY
정규식은 AS3 한글 라이브독만 보셔도 충분해요..
Favicon of http://blog.flashplatform.kr BlogIcon 검쉰 | 2008.09.26 13:21 신고 | PERMALINK | EDIT/DEL
그런가요~? ㅎ
전 책이 더 좋아서 ㅎㅎ
Favicon of http://chanik.com BlogIcon chaniks | 2008.09.29 14:48 신고 | PERMALINK | EDIT/DEL | REPLY
O'reilly 에 Mastering Regular Expression이란 책이 있습니다.
한글판도 있는지는 잘..

근데, 정규표현식도 너무 복잡해지면, 오히려 가독성이 떨어지는..
Favicon of http://blog.flashplatform.kr BlogIcon 검쉰 | 2008.09.29 19:19 신고 | PERMALINK | EDIT/DEL
오홋.. 찾아봐야겠군요!
연월태생 | 2008.10.09 16:53 신고 | PERMALINK | EDIT/DEL | REPLY
구경하고 갑니다.ㅎㅎ
Favicon of http://blog.flashplatform.kr BlogIcon 검쉰 | 2008.10.13 09:59 신고 | PERMALINK | EDIT/DEL
방문 감사합니다!
덧글남겨주시는 걸 보니 센스 굿! ㅎㅎ
수크레 | 2010.02.04 20:47 신고 | PERMALINK | EDIT/DEL | REPLY
저는 저나름데로 되게 간단하게 구현했는데 정말 간결하고 멋지시네요
잘보고갑니다.~
채영사랑 | 2010.05.18 10:51 신고 | PERMALINK | EDIT/DEL | REPLY
와우....감사합니다..^^;
근디..궁금한게.....메세지가 한글로 나오게 할려면..어떻게 해야하나요
?
- 덧글 좀..(굽신굽신) : 장문의 덧글은 트랙백을 이용해주세요 ;^)
Name
Password
Homepage
Secret

티스토리 툴바