2011. 9. 16. 11:39

입력 값 검사/사용자 정보 입력


Validation 컨트롤

컨트롤                                       설명
RequiredFieldValidator                 사용자가 필드에 입력을 했는지 확인합니다.
RangeValidator                           사용자가 입력한 값이 특정 범위에 속하는 값인지 검사 합니다. 값의 법위는 
                                                상수값 또는 다른 컨트롤의 값을 쓸수도 있습니다.
CompareValidator                       사용자가 입력한 값과 다른 컨트롤의 값을 비교합니다.
RegularExpressionValidator         사용자가 입력한 값을 정규 표현식과 비교해서, 정의된 패턴과 일치하는지 검사합니다.
CustomValidator                         개발자가 값이 유효한지 논리를 만들어 검사합니다.

ValidationSummary                     웹페이지에 정의된 입력 검사 컨트롤의 오류 메시지를 보여주는 컨트롤입니다.
                                                각 Validation 컨트롤에는 오류가 발생했다는 표시로 "*"를 보여주고, 실제 오류 메시지는
                                                Summary 컨트롤에 보여주도록 구성 합니다.


정규 표현식
정규 표현식(Regular Expression) 은 입력 값에 대해 형식을 정의하고, 이 형식에 맟는 값만 유효한 것으로 판단하도록할때 사용합니다. 모든 정규 표현식을 완벽하게 이해하기란 어렵습니다. 간단히 형식 문자를 소개하고, Validation 컨트롤을 확인해보겠습니다.

형식                     설명
.                        한문자를 나타냅니다.
                         "." = "a","b","0","1","2" 와 같은 한 문자를 표현합니다.
$                       문자열의 끝나는 문자열을 나타냅니다.
                         "$thing" = "anything","something" 과 같이 "thing"으로 끝나는 문자열을 표현합니다.
\d                     숫자를 표현하며, 뒤에{}를 붙여서 자리수를 지정해서 표현할 수도 있습니다.
                        \d{2} =10,11,12,13
\w                   소문자, 대문자, 숫자 등 모든 문자를 나타냅니다.([A-Za-z0-9_])마찬가지로 자리수를 지정해서 
                         표현할 수 있습니다.
                         \w{2} = a1,a2,a3
*                      없거나 하나 이상 반복되어 나오는 경우를 표현 합니다.
                       h*ello=ello,hello,hhello
+                     하나 이상 반복되어 나오는 경우를 표현합니다.
                      h+ello = hello, hhello, hhhello
?                     없거나 한번 반복되는 경우를 표현합니다.
                      h?ello = ello, hello




문자열 형식을 정의하는 정규 표현식입니다.

형식문자                      설명
{a}                            앞 문자가 a번 반복되는 것을 표현합니다.
                                 Hel{2}0=Hello
{a,}                           앞 문자가 a번 이상 반복되는 것을 표현합니다.
                                 Hel{2,}o = hello.hello.helllo,.....
{a,b}                         앞 문자가 a 번이상 b번 이하 반복되는것을 표현합니다.
                                 Hel{2,3} = Hello, Helllo
a|b                            a 또는 b 를 나타냅니다.
                                 (g|w)ood = good,wood
                                 (hello)(HELLO) = hello,HELLO
[abc]                         a,b,c 중에 한 문자 입니다.
                                 [hH]llo = hello, Hello
[^abc]                        a,b,c 문자를 제외한 나머지 문자를 나타낼때 표현합니다.
                                 [^hH]llo = gello.pello
[a-z]                         'a'부터 'z'까지 문자 중에서 한 문자 입니다.
                                 [a-z] = a,b,c,d,.........




예) 우편번호
     "\d{3}-\d{3}"
 
     주민등록 번호
     "\d{6}-\d{7}"

     핸펀번호 01x-xxx-xxx
   01\d{1}-\d{3}-\d{4}