기본적으로 ASP.NET 유효성 검사 컨트롤은 페이지가 서버에 다시 게시될 때, 페이지가 초기화된 후(즉, 뷰 상태 및 포스트백 데이터가 처리된 후), 이벤트 처리 코드가 호출되기 전에 자동으로 유효성 검사를 수행합니다. 브라우저가 클라이언트측 스크립팅을 지원하는 경우 컨트롤은 브라우저에서 유효성 검사를 수행할 수도 있습니다.
그러나 때로는 프로그래밍 방식으로 유효성 검사를 수행해야 할 수도 있습니다. 다음 상황에서는 프로그래밍 방식으로 확인해야 할 수 있습니다.
·런타임에 유효성 검사 값이 설정되지 않은 경우. 예를 들어 RangeValidator 컨트롤을 사용하는 경우 런타임에 사용자가 입력한 값을 기반으로 최소값 및 최대값 속성을 설정할 수 있습니다. 페이지에서 유효성 검사를 수행하기 위해 유효성 검사 컨트롤을 호출할 때 RangeValidator 컨트롤에 정보가 충분하지 않기 때문에 현재 기본 유효성 검사는 작동하지 않습니다.
·Page_Load 이벤트 핸들러에서 컨트롤(또는 전체 페이지)의 유효성을 확인해야 합니다. 페이지 처리 단계에서는 유효성 검사 컨트롤이 아직 호출되지 않았으므로 페이지 또는 개별 컨트롤의 IsValid 속성이 설정되지 않았습니다. (이 속성의 값을 가져오려고 하면 예외가 발생합니다.) 그러나 유효성을 확인하려는 경우 프로그래밍 방식으로 유효성 검사를 호출할 수 있습니다.
·런타임에 컨트롤(입력 컨트롤 또는 유효성 검사 컨트롤)을 편집하고 있습니다.
보다 일반적으로는 원할 때 언제든지 프로그래밍 방식으로 확인할 수 있으므로 확인 수행 시기를 보다 정확하게 제어할 수 있습니다.
유효성 검사 컨트롤의 Validate 메서드를 호출합니다.
컨트롤은 검사를 수행하고 컨트롤과 페이지의 IsValid 속성을 설정합니다. 오류가 감지되면 페이지가 사용자에게 반환될 때 평소와 같이 오류 메시지가 표시됩니다.
다음 코드 예제에서는 프로그래밍 방식으로 속성을 설정하는 방법을 보여줍니다. 이 경우 ASP.NET 웹 페이지는 리조트의 객실을 예약하여 방문할 때마다 무료 여행을 제공합니다. 사용자는 도착 및 출발 날짜를 입력한 다음 방문 중에 일정을 계획해야 합니다. RangeValidator 컨트롤은 사용자가 일반적인 날짜 형식을 입력하고 여행 날짜가 도착 날짜와 출발 날짜 사이에 있어야 하는지 확인하는 데 사용됩니다.
설명: 사용자가 입력한 값을 날짜로 변환할 수 없는 경우 유효성 검사기 컨트롤에서 예외가 발생합니다. 명확성을 위해 이 예에는 오류 처리가 포함되어 있지 않습니다.
도착 날짜와 출발 날짜는 페이지의 두 TextBox 웹 서버 컨트롤인 txtArrival 및 txtDeparture에서 가져옵니다. 여행 날짜는 RangeValidator 컨트롤에 의해 유효성이 검사되는 세 번째 TextBox 컨트롤인 txtTourDate에 입력됩니다.
참고: 프로그래밍 방식으로 유효성을 검사하는 경우 서버측 유효성 검사 코드가 실행되기 전에 컨트롤이 잘못된 오류 메시지를 표시하지 않도록 클라이언트측 스크립팅을 비활성화해야 합니다.
개인 무효 Button1_Click(개체 전송자, System.EventArgs e)
{
RangeValidator1.MinimumValue = txtArrival.Text;
RangeValidator1.MaximumValue = txtDeparture.Text;
RangeValidator1.Type = ValidationDataType.Date;
RangeValidator1.Validate();
if (!RangeValidator1.IsValid)
{
RangeValidator1.ErrorMessage = "투어 날짜는 다음과 같아야 합니다. " +
"도착일과 출발일 사이에 해당합니다.";
}
}
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시해 주세요.
http://blog.csdn.net/dodream/archive/2009/12/17/5024666.aspx