2012-12-17 4 views
3

문제점 : imieTextbox 컨트롤의 유효성을 검사하는 페이지에 사용자 정의 유효성 검사기가 있습니다. 하지만 작동하지 않습니다. 왜 그런지 모르겠습니다.ASP.NET CustomValidator가 작동하지 않는다

이 방법은 register.aspx.cs 파일에서 제공 :

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
//of course here will be other validation logic but setting IsValid property ti false  is for example 
     args.IsValid = false; 
    } 

을 그리고 이것은 fromregister.aspx 파일 제공 :

<asp:CustomValidator ID="CustomValidator1" runat="server" 
      ControlToValidate="imieTextbox" Display="Dynamic" 
      ErrorMessage="CustomValidator" 
      onservervalidate="CustomValidator1_ServerValidate" ValidateEmptyText="True" 
      ValidationGroup="A"></asp:CustomValidator> 

이 페이지에 버튼을 제출을 TRUE로 설정 속성 CausesValidation을 가지고 있으며, 검증이있다 그룹 A (내 페이지의 모든 유효성 검사기와 동일). 모든 유효성 검사기 (requiredfield 유효성 검사기)는 정상적으로 작동하지만 사용자 지정 유효성 검사기는 작동하지 않습니다. 왜 그런가요? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

6

당신은 다른 서버의 유효성 검사가 호출되지 않습니다 서버에 다시 게시에

if (Page.IsValid) 

를 호출해야합니다. RequiredFieldValidator는 클라이언트에서 유효성 검사를 수행하므로이 값이 작동합니다. 그러나 서버에서 항상 유효성 검사를 수행해야합니다.

클라이언트 측 유효성 검사를 위해 동일한 작업을 수행하는 JavaScript 메서드를 작성해야합니다.

ClientValidationFunction="YourValidationMethod" 

및 방법이

function YourValidationMethod(source, args) 
{ 
    if (valid) // do check here 
     args.IsValid = true; 
    else 
     args.IsValid = false; 
} 
+0

작업과 같은 작업을 수행합니다 당신은 당신의 직접 CustomValidator의 속성을 설정! 감사! 그리고 또 다른 질문은? 동일한 유효성 검사기를 사용하지만 클라이언트 측에서 동일한 유효성 검사를 수행하려면 어떻게해야합니까? –

+0

아쉽게도 클라이언트에서 유효성을 검사하기 위해 JavaScript를 작성하는 것과 같은 방법을 사용할 수 없습니다. – slfan

+0

정말 고마워 !!!. 시간 절약 !! – Tchaps

관련 문제