ASP.NET 서버 컨트롤용 클라이언트측 유효성 검사

Visual Studio 2010

업데이트: 2007년 11월

사용자가 DHTML(동적 HTML)을 지원하는 브라우저에서 작업하는 경우에는 ASP.NET 유효성 검사 컨트롤이 클라이언트 스크립트를 사용하여 유효성 검사를 수행할 수 있습니다. 컨트롤은 서버에 대한 라운드트립 없이 즉시 피드백을 제공할 수 있으므로 사용자의 페이지 검사가 강화됩니다.

대부분의 경우에는 클라이언트측 유효성 검사를 사용하기 위해 페이지나 유효성 검사 컨트롤을 변경할 필요가 없습니다. 브라우저에서 DHTML을 지원하는 경우에는 컨트롤이 자동으로 이를 검색하여 그에 따른 검사를 수행합니다. 클라이언트측 유효성 검사에서는 서버측 유효성 검사와 같은 오류 표시 메커니즘을 사용합니다.

yb52a4x0.alert_security(ko-kr,VS.100).gif보안 정보:

유효성 검사는 클라이언트에서 이미 수행된 경우에도 서버에서 수행됩니다. 이 기능은 서버 코드에서 유효성 검사 상태를 확인할 수 있으며 사용자가 클라이언트측 유효성 검사를 무시하지 못하도록 보안성을 제공합니다.

클라이언트에서 유효성 검사를 수행하는 경우 유효성 검사 컨트롤에는 다음과 같은 추가 기능이 포함됩니다.

클라이언트측 유효성 검사와 관련하여 몇 가지 작은 차이점이 있습니다.

  • 클라이언트측 유효성 검사를 사용할 수 있으면 페이지에 클라이언트측 유효성 검사를 수행하는 데 사용되는 스크립트 라이브러리에 대한 참조가 포함됩니다.

  • RegularExpressionValidator 컨트롤을 사용할 때 ECMAScript 호환 언어(예: Microsoft JScript)를 사용할 수 있는 경우 클라이언트에서 식을 검사할 수 있습니다. 클라이언트측 정규식 검사는 서버에서 Regex 클래스를 사용하여 수행되는 정규식 검사와 약간 다릅니다.

  • 페이지가 전송되기 전에 페이지의 Click 이벤트를 가로채서 처리하는 클라이언트측 메서드가 페이지에 포함됩니다.

유효성 검사 컨트롤은 클라이언트에 대해 서버에서와 거의 같은 개체 모드를 제공합니다. 예를 들어, 클라이언트와 서버 모두에서 같은 방법으로 유효성 검사 컨트롤의 IsValid 속성을 읽어 유효성을 테스트할 수 있습니다.

그러나 페이지 수준에서 노출된 유효성 검사 정보에는 차이점이 있습니다. 서버의 경우 페이지에서 속성을 지원하지만, 클라이언트의 경우 페이지에 전역 변수가 포함됩니다. 다음은 페이지에 노출된 정보를 비교한 것입니다.

클라이언트 페이지 변수

서버 페이지 속성

Page_IsValid

IsValid

Page_Validators(배열)   페이지에 있는 모든 유효성 검사 컨트롤에 대한 참조가 포함됩니다.

Validators(컬렉션)   모든 유효성 검사 컨트롤에 대한 참조가 포함됩니다.

Page_ValidationActive   유효성 검사의 수행 여부를 나타내는 부울 값입니다. 이 변수를 false로 설정하면 클라이언트측 유효성 검사가 프로그래밍 방식으로 해제됩니다.

해당하는 속성이 없습니다.

yb52a4x0.alert_note(ko-kr,VS.100).gif참고:

모든 페이지 관련 유효성 검사 정보는 읽기 전용으로 간주되어야 합니다.

경우에 따라 클라이언트측 유효성 검사를 사용할 수 있어도 클라이언트측 유효성 검사를 사용하지 않고 서버측 유효성 검사만 사용하려고 할 때가 있습니다. 예를 들어, 유효성 검사에서 데이터베이스 액세스 등 서버에서만 사용할 수 있는 정보나 리소스가 필요한 경우에는 클라이언트측 유효성 검사를 하지 못할 수도 있습니다.

기본적으로 클라이언트측 유효성 검사를 수행할 때 페이지에 오류가 있으면 사용자가 페이지를 서버에 게시할 수 없습니다. 그러나 오류가 있어도 사용자가 페이지를 게시할 수 있게 해야 할 때가 있습니다. 예를 들어, 페이지에 취소 단추나 탐색 단추가 있고 일부 컨트롤이 유효성 검사에 통과하지 못할 경우에도 페이지를 전송하는 단추가 필요할 수 있습니다. 자세한 내용은 방법: ASP.NET 서버 컨트롤의 유효성 검사 해제를 참조하십시오.

표시: