2009-10-29 6 views
2

사용자가 포스트 백을 만들기 전에 아무 것도하지 않는 사용자 정의 유효성 검사기를 작성하려고합니다 (즉, JavaScript가 생성되지 않습니다). 유효성 검사기는 hello이라는 POST 인수가 있는지 확인해야합니다. 이 인수의 값은 쉼표로 구분 된 정수 문자열이어야합니다.ASP.NET : 사용자 정의 서버 측 유효성 검사기 작성

이것을 실제 유효성 검사기로 지정하려는 이유는 오류 메시지를 글 머리 기호 목록을 표시하는 유효성 검사 요약에 통합하려고하기 때문입니다.

그럼 어디서부터 시작해야합니까?

답변

2

첫째, 그런 다음 코드 숨김에서 MyValidator_OnServerValidate 방법을 추가 페이지

<asp:CustomValidator ID="MyValidator" runat="server" ErrorMessage="My error message" 
    OnServerValidate="MyValidator_OnServerValidate" /> 

에 사용자 정의 유효성 검사기 컨트롤을 추가합니다.

protected void MyValidator_OnServerValidate(object sender, ServerValidateEventArgs e) 
{ 
     e.IsValid = false; 

     // Validation logic goes here 
     if(Request.Form["hello"] == null) 
      return; 

     ... 

     // If we have made it this far, then everything is valid 
     e.IsValid = true; 
} 
0

유효성 검사 요약은 클라이언트 측 오류에도 적용됩니다. 즉, 새 요약을 표시하기 위해 유효성 검사 요약을 가져 오려면 다시 게시해야합니다. 사실, 전략으로서 가능한 경우 서버 측 검사로 클라이언트 스크립트를 사용하는 것이 좋습니다. 적어도 사용하도록 설정된 경우 클라이언트 검사는 네트워크 채팅, 서버 리소스를 줄이고 사용자 환경을 개선하는 데 도움이 될 수 있습니다.

+0

내가이 질문을 한 지 오래되었지만 서버 측 유효성 검사에만 사용자 지정 유효성 검사기를 이해하는 것이 어려웠다 고 말한 이유가 무엇인지 설명하는 것이 더 간단 할 것이라고 생각합니다. 그들은 그것이 서버 측만으로되어 있다면 작동합니다. 나는 정직하다는 것을 기억하지 않는다. –

관련 문제