2008-11-11 3 views
0

이것은 코드 문제만큼이나 코드 유지 관리 문제이지만, 더 이상 CustomValidator를 검사하지 않는 WebForm이 있습니다. 1 년 전에 코드를 마지막으로 만졌을 때 작동했지만 사용자가 몇 가지 변경 사항을 요청 했으므로 더 이상 작동하지 않습니다 ...ASP.NET이 CustomValidator를 무시하면 무엇이 의심 스럽습니까?

WebForm에는 데이터 바인딩 드롭 다운이 기본 "- 모든 -"로 포함되어 있습니다. 값으로 String.Empty가있는 항목. 사용자가 제출 버튼을 클릭하면 유효성 검사기는 드롭 다운 값이 String.Empty가 아닌지 확인해야합니다. 클라이언트 유효성 검사 코드와 서버 유효성 검사 코드에서 중단 점을 설정했지만 화재는 발생하지 않습니다.

어디서 볼 것입니까? 평소 용의자는 무엇입니까? 물론 소스 코드와 작업 복사본을 비교했지만 의심스럽지는 않습니다.

<asp:DropDownList ID="_AssessmentDropDown" runat="server" DataSourceID="_AssessmentsData" CausesValidation="true" AutoPostBack="false" 
    DataTextField="AssessmentName" DataValueField="AssessmentName" OnDataBound="_HandleAssessmentsBound"> 
</asp:DropDownList> 
<asp:CustomValidator ID="_AssessmentValidator" runat="server" ClientValidationFunction="_HandleValidateAssessment_Client" 
    ControlToValidate="_AssessmentDropDown" ErrorMessage="* You must select an Assessment." 
    OnServerValidate="_HandleValidateAssessment" /> 
<asp:ObjectDataSource ID="_AssessmentsData" runat="server" 
    OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
    TypeName="DataTableAdapters.GET_GRADE_ASSESSMENTSTableAdapter"> 
    <SelectParameters> 
     <asp:ControlParameter Name="GRADECODE" ControlID="_GradeCodeDropDown" PropertyName="SelectedValue" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 

답변

5

내가 문제의 몇 가지를 발견

  • 내가 AutoPostBack을이 당신은 유효성 검사 그룹을 사용하지 않는 거짓
  • 로 설정되어있는 경우 그 원인
  • 하지 않을 수 있도록,는 true CausesValidation = 필요하다고 생각하지 않습니다
  • RequiredFieldValidator를 사용하지 않는 이유는 무엇입니까?
  • 당신이 빈 필드에 검증을 발사 할 경우
  • 는, 그래서 직접 CustomValidator 항상 동반되어야한다, 그것은 유효성 검사가 컨트롤이 빈 값이있는 경우 발생하지 않는 사실
+0

ValidateEmptyText가 트릭을 수행하지만 작년에 왜 문제가되지 않았는지 궁금합니다. ValidateEmptyText의 동작이 변경 되었습니까? 그렇지 않으면 내 기본값이 변경되었을 것입니다. – flipdoubt

+0

고마워, ValidateEmptyText 내 문제를 일으키는 너무했다. – JoshBaltzell

+0

감사합니다. ValidateEmptyText 속성이 나를 위해이 문제를 일으켰습니다. –

0

일부 문제 해결 단계 :

  • 이 양식의 유일한 검증인가가 여기에 중요한 그냥 경우

    내 코드?

  • 페이지에서 유효성 검사가 활성화되어 있습니까?
  • 대상 컨트롤에 대해 유효성 검사가 설정되어 있습니까?
  • 유효성 검사기 자체가 활성화되어 있습니까?
0

나는 ValidationGroup을 심각하게 고려할 것이다.

그룹에서 제외 된 항목은 더 이상 유효성을 검사하지 않습니다. 그렇지 않으면 자바 스크립트 오류 (클라이언트 측)가없고 "OnServerValidate"메서드가 내부에 중단 점이 있는지 확인하십시오.

0

유효성 검사기가 제출 버튼과 동일한 유효성 검사기 그룹에 있습니까?

1

직접 CustomValidator에 ValidateEmptyText 속성을 설정 RequiredFieldValidator