유효성 검사 컨트롤은 사용자 입력을 테스트하고, 오류 상태를 설정하고, 오류 메시지를 생성합니다. 페이지의 처리 흐름을 변경하지 않습니다. 예를 들어 사용자 입력 오류가 감지되면 코드를 건너뛰지 않습니다. 대신 애플리케이션의 특정 논리를 실행하기 전에 코드에서 컨트롤의 상태를 테스트하게 됩니다. 오류가 감지되면 자신의 코드가 실행되지 않습니다. 페이지는 계속 처리되고 오류 메시지와 함께 사용자에게 반환됩니다.
보안 정보: 기본적으로 ASP.NET 웹 페이지는 악의적인 사용자가 응용 프로그램에 스크립트나 HTML 요소를 보내려고 시도하는지 여부를 자동으로 확인합니다.
일반적인 페이지 전체 상태를 테스트할 수 있고 개별 컨트롤의 상태를 테스트할 수 있습니다. 일반적으로 페이지에 대해 생성한 이벤트 핸들러에서 이 작업을 수행합니다.
1. 일반적인 오류 상태 테스트
코드에서 페이지의 IsValid 속성을 테스트합니다. 이 속성은 페이지에 있는 모든 유효성 검사 컨트롤의 IsValid 속성 값을 누적합니다(논리적 AND 사용). 유효성 검사 컨트롤이 유효하지 않은 것으로 설정된 경우 페이지 속성은 false를 반환합니다.
설명: 페이지 초기화 또는 로딩 단계에서는 인증 정보를 사용할 수 없습니다. 그러나 Page_Load 중에 Validate 메서드를 수동으로 호출한 다음 페이지의 IsValid 속성을 테스트할 수 있습니다.
다음 코드 예제에서는 버튼에 대한 이벤트 핸들러를 보여줍니다. 이 코드는 페이지의 IsValid 속성을 테스트합니다. 페이지가 자동으로 브라우저로 돌아가고 유효성 검사 컨트롤이 자체 오류 메시지를 표시하므로 여기에는 다른 절이 필요하지 않습니다.
void Button1_Click(개체 전송자, System.EventArgs e)
{
if(유효함)
{
// 여기서 데이터베이스 업데이트나 기타 로직을 수행합니다.
}
}
2. 개별 컨트롤의 오류 상태를 테스트합니다.
모든 유효성 검사 컨트롤에 대한 참조가 포함된 페이지의 유효성 검사기 컬렉션을 통해 작업하세요. 그런 다음 각 유효성 검사 컨트롤의 IsValid 속성을 확인할 수 있습니다.
참고: Page_Load 중에 이 확인을 수행하려면 먼저 Validate 메서드를 수동으로 호출해야 합니다.
다음 코드 예제에서는 단일 유효성 검사 컨트롤의 상태를 가져오는 방법을 보여줍니다.
if(this.IsPostBack)
{
this.Validate();
if (!this.IsValid)
{
문자열 메시지 = "";
// 모든 유효성 검사 컨트롤을 반복하여 확인합니다.
// 오류가 발생했습니다.
foreach(IValidator aValidator in this.Validators)
{
if (!aValidator.IsValid)
{
msg += "
" + aValidator.ErrorMessage;
}
}
Label1.Text = 메시지;
}
}
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/dodream/archive/2009/12/17/5024643.aspx
-