RegularExpressionValidator 컨트롤
ReqularExpressionValidator 컨트롤은 정규표현식을 이용하여 입력된 값의 유효성을 검사하는 컨트롤입니다. 역시 BaseValidator 컨트롤을 상속하고 있으며 정규표현식에 대한 선지식을 요구하지만 잘 사용하면 매우 유용한 컨트롤입니다.

정규표현식
정규표현식이란 문자열에 대한 패턴 검색, 문자열 추출 및 대체, 삭제 등 여러 용도로 활용할 수 있는 강력한 표현식으로 1956년에 미국의 수학자인 Stephen Kleene의 논문에서 처음으로 등장하였습니다.

.NET 프레임워크는 System.Text.RegularExpressions 네임 스페이스에 정규표현식을 구현하는데 필요한 다양한 클래스들을 제공하고 있으며 이들은 ASP.NET을 비롯한 .NET 프레임워크 전반에 걸쳐 사용될 수 있습니다.

정규표현식은 매우 광범위한 내용을 포함하고 있으므로 이 글에서 정규표현식의 모든 것을 이야기하는 것은 무리가 있으므로 자세한 내용은 MSDN을 참고하시기 바랍니다.

RegularExpressionValidator 컨트롤의 사용 형식
RegularExpressionValidator 컨트롤은 다음과 같은 형식으로 사용할 수 있습니다.

웹 폼 페이지에서
<asp:RegularExpressionValidator ID=”컨트롤의 ID”
Runat=”server” ControlToValidate=”유효성 검사 대상 컨트롤의 ID”
ErrorMessage=”검사 실패 시 출력할 오류 메시지”
ValidationExpression=”검사에 사용할 정규표현식”>
</asp:RequiredFieldValidator>

C# 코드에서
RegularExpressionValidator rev = new RegularExpressionValidator();
rev.ControlToValidate = “유효성 검사 대상 컨트롤의 ID”;
rev.ErrorMessage = “검사 실패 시 출력할 오류 메시지”;
rev.ValidationExpression=”검사에 사용할 정규표현식”
rev.Validate();

RegularExpressionValidator 컨트롤의 생성자
RegularExpressionValidator 컨트롤의 생성자는 다음과 같습니다.

public RegularExpressionValidator();

이 생성자는 인자 없이 새로운 RegularExpressionValidator 컨트롤의 인스턴스 객체를 생성합니다.

RegularExpressionValidator 컨트롤의 속성
RegularExpressionValidator 컨트롤은 BaseValidator 클래스로부터 상속 받은 속성 외에 추가적으로 다음과 같은 속성을 제공합니다.

ValidationExpression 속성
이 속성은 ControlToValidate 속성에 지정된 유효성 검사 컨트롤에 입력된 값에 대한 유효성 검사를 실행하기 위한 정규표현식을 지정하거나 가져오기 위한 속성으로 형식은 다음과 같습니다.

public string ValidationExpression {get; set;}

이 속성의 기본 값은 String.Empty 입니다.

RegularExpressionValidator 컨트롤의 메서드
RegularExpressionValidator 컨트롤은 BaseValidator 컨트롤로부터 상속 받은 메서드 외에 추가적인 메서드를 제공하지 않습니다.

RegularExpressionValidator 컨트롤의 이벤트
RegularExpressionValidator 컨트롤은 BaseValidator 컨트롤로부터 상속 받은 이벤트 외에 추가적인 이벤트를 제공하지 않습니다.

RegularExpressionValidator 컨트롤의 사용 예제
다음 예제는 RegularExpressionValidator 컨트롤의 사용 예를 보여줍니다.

1

<%@ Page Language="C#" %>

2

<html>

3

        <head>

4

               <title>RegularExpressionValidator Control</title>

5

        </head>

6

        <body>

7

               <form id="form1" runat="server">

8

                       E-mail:

9

                       <asp:TextBox ID="txtMail"

10

                       Runat="server" Columns="20"/>

11

 

12

                       <asp:Button ID="button1"

13

                       Runat="server" Text="Validate"/>

14

                       <br><br>

15

                      

16

                       <asp:RegularExpressionValidator

17

                       ID="revMail" Runat="server"

18

                       ControlToValidate="txtMail"

19

                       ErrorMessage="Invalid e-mail address"

20

                       ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>

21

               </form>

22

        </body>

23

</html>

위의 예제는 RegularExpressionValidator 컨트롤을 이용하여 입력된 메일 주소가 올바른 형식의 메일 주소인지 확인하는 예제입니다. 20번 라인에서 사용된 ValidationExpression 속성에 지정된 정규표현식은 VS.NET이 기본적으로 제공해주는 메일 주소에 대한 정규표현식입니다. 이 예제의 실행 결과는 아래 그림과 같습니다.

+ Recent posts