2013-02-12 2 views
1

ASP.NET Validator을 사용하여 수십 개의 입력 내용을 내 WebForm의 유효성을 검사하기로 결정했습니다. 고객 쪽에서 문제없이 작동합니다. 난 내가 뒤에 코드에 검사기를 사용하려고하면, 그것은 그 Page.Isvalid 속성 저를주는 등ASP.NET 검사기의 안정성은 어느 정도입니까?

"페이지 다시 게시"그러나없이 입력의 유효성을 검사와 완전히 확인 해요, 의미, 그리고 난 혼란스러워 그 신뢰성과. 다음은 자신이 대답 할 수없는 질문입니다.

  1. 클라이언트 측에서 사용할 수있을만큼 신뢰할 수 있습니까? (자바 스크립트을 해제 외에, 그것은 조작 할 수 있습니까?)
  2. 방법이 검사기는 서버 측에 대한 유효성 정보에 도달 하는가?

    : 여기

내가 서버 측에서도 내 입력을 검증하기 위해 쓴 코드 (? 생성 된 C# 검사기 코드는 어디 있는가 또는 그것은 클라이언트 측에서 직접 정보를 걸립니까)

foreach (IValidator iValidator in Page.Validators) 
      { 
       if (!iValidator.IsValid) { return false; } 
      } 

그러나 .aspx 및 .js와 독립적입니까? 서버 측에서 사용할 수 있습니까?

답변

2

서버 측에서도 항상 유효성을 검사해야하며 대부분 Page.Validate을 호출하여 자동으로 수행됩니다. MSDN에서

:

사용자가 기본값 인 true로 CausesValidation 속성 집합을 가지고있는 ASP.NET 서버 컨트롤 을 클릭 할 때이 메서드가 호출된다. 다음은 버튼,하여 ImageButton과의 LinkButton 웹 서버 컨트롤의 HtmlInputButton, HtmlInputImage 및 HtmlButton HTML 서버 컨트롤 및 컨트롤 자동적으로 텍스트 상자, 확인란 ListControl의로 서버 에 다시 게시 할 수 있으며, BulletedList 컨트롤을 포함 . 다른 ValidationGroup의 검증을 강제하려면

수동으로 호출 할 수 있습니다 : 당신이 Page.Validate 방법이라고 후에 만 ​​Page.IsValid를 확인하거나에 CausesValidation 속성을 설정해야합니다

Page.Validate("MyValidationGroup"); 
If(Page.IsValid) 
{ 
    // ... 
} 

주 폼 처리를 시작한 ASP.NET 서버 컨트롤의 OnServerClick 이벤트 처리기에서 true입니다.

+1

감사합니다. 더 많은 정보를 주셔서 감사합니다.하지만이 Page.IsValid가 실제로 어떻게 작동합니까? – 3yanlis1bos

+1

@ 3yanlis1bos : 이것은 단지 Page.Validate (validationGroup)에서 설정된 'bool'을 반환하지만 아무것도 수행하지 않는 속성입니다. 이 메서드는 모든 관련 검사기의 Validate 메서드를 호출합니다. 예를 들어 해당 컨트롤 ('ControlToValidate')이 비 었는지 확인하는 'RequiredFieldValidator'입니다. –

+1

이 유효성 정보의 출처는 어디입니까? 그것은 js 또는 클라이언트 측에서 변경 가능한 것에 의존 하는가, 아니면 실제로 dll에 저장되는 메서드에서 오는 것입니까? – 3yanlis1bos

관련 문제