2014-10-14 2 views
2

내 웹 페이지에있는 4 개의 사용자 정의 유효성 검사기 중 하나가 실행 중임에있어 이상한 문제가 있습니다. 작업 유효성 검사기를 기반으로 모든 것이 올바르게 보입니다. 아래는 간단한 코드입니다.서버 측 사용자 지정 검사기가 실행되지 않음

ASPX 코드 -

<asp:TextBox ID="CMT_TXT" runat="server" Columns="60" Rows="8" 
    TextMode="MultiLine" Text='<%#Eval("CMT_TXT")%>'></asp:TextBox><br /> 
<asp:CustomValidator ID="csvCMT_TXT" runat="server" ControlToValidate="CMT_TXT" 
    Display="Dynamic" EnableClientScript="False" ErrorMessage="Msg"> 
    </asp:CustomValidator> 

VB 코드 -

Public Sub csvCMT_TXT_ServerValidate(source As Object, 
            args As ServerValidateEventArgs) _ 
    Handles csvCMT_TXT.ServerValidate 

    dim s As String = CMT_TXT.Text 
    args.IsValid = s.Length <= 3500 
End Sub 

하는 테스트, 필드 CMT_TXT의

  • 내용은 약 3000 문자가 있습니다. 따라서 빈 필드 문제는 아닙니다.
  • Page.Validate는 서버 측 유효성 검사를위한 코드

답변

0

VS2010 프로젝트 빌드에 문제가있는 것으로 판명되었습니다. 이 문제에 대한

, 나는 삭제

  1. 에 BIN 디렉토리에있는 모든 파일을했다
  2. 삭제
  3. 삭제 된 사용자 정의 유효성 검사기는
  4. 재건 프로젝트
  5. 사용자를 추가 OBJ 디렉토리의 모든 파일 프로그램에 대한 유효성 검사. 원래 코드를 프로그램에 다시 추가했습니다.

약간 극단적인데 문제가 해결되었습니다.

1

의 본체라고 당신이이 모든 서버 측 유효성 검사를 실행해야하며 업데이트가

을 Page.IsValid Page.Validate를 호출 할 필요가 발사 또한 사용자 정의 val에 이벤트가 설정된 것처럼 보이지 않습니다. 내가 VB.NET 너무 익숙하지 않다 OnServerValidate

OnServerValidate="csvCMT_TXT_ServerValidate" 


<asp:CustomValidator ID="csvCMT_TXT" runat="server" ControlToValidate="CMT_TXT" 
    Display="Dynamic" EnableClientScript="False" ErrorMessage="Msg" OnServerValidate="csvCMT_TXT_ServerValidate"> 
</asp:CustomValidator> 
+0

좋은 지적이지만 진행 중입니다. 질문의 테스트 조건에서이 호출을 추가했습니다. 혼란이 생겨서 미안해. –

+0

@photo_tom, 내 편집 도움이 되었습니까? 이벤트 핸들러가 등록되지 않은 것처럼 보입니다. 이 문제를 직면하게 될 다른 사람들을 위해 Page.Validate에 대한 부분을 남겨 두었습니다. – workabyte

0

소품을 추가 할 수 있지만, C 번호와 나는 CustomValidator이있는 페이지로 계속하기 전에 Page.IsValid 필드를 확인할 수 있습니다.

마지막 단계에서 을 포함하는 Wizard 컨트롤이있는 예에서이 값을 FinishButtonClick 이벤트에서 확인합니다. 이 VB.NET과 차이가 있지만 눈에 탄

0

가치가있을 수 있습니다 확실

protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e) 
{ 
    if (Page.IsValid == false) 
    { 
     // validator failed, stop wizard from continuing 
     return; 
    } 

    // page is valid, continue on 
    // ... 
} 

되지 않음, 당신이 잘못 핸들러의 이름처럼 보인다. 제어 ID는 csvCMT_TXT이고 핸들러는 csv_CMT_TXT.ServerValidate입니다. 핸들러에 _이 추가로 있습니다.

+0

나쁜 하루였습니다.내 질문에 두 번째 오류가 발생했습니다. ARG !!! 나 자신. –

관련 문제