2009-06-03 3 views
0

ddl.Visible = true (다른 폼 요소 이벤트에서 부분 포스트 백/업데이트 패널에서 변경됨)를 변경하면 RequiredFieldValidator가 실행되지 않습니까?ControlToValidate 가시성이 변경 될 때 RequiredFieldValidator가 실행되지 않음

참고 : 정상적인 환경에서 RequiredFieldValidator를 사용하는 방법에 대한 질문은 아닙니다. 내 양식에는 계단식 드롭 다운이 있으며, 모두 동적으로 가시성을 켜고 끕니다.

<asp:DropDownList ID="ddl" Visible="false" AutoPostBack="True" runat="server">                
</asp:DropDownList> 
<asp:RequiredFieldValidator ControlToValidate="ddl" 
ID="RequiredFieldValidator1" 
runat="server" ErrorMessage="Required"></asp:RequiredFieldValidator>  

답변

2

당신은에 InitialValue 속성을 설정해야합니다 귀하의 RequiredFieldValidatorDropDownList의 값이 변경되면이 알 수 있도록. 예를 들어,이 값을 드롭 다운에 :

  • Please Select
  • Dog
  • Cat
  • Bird

당신은이 속성을 추가 할 수

InitialValue="Please Select" 

~ RequiredFieldValidator.

값이 변경되었는지 여부를 모르는 채로 유효성 검사기는 사용자가 요구 사항을 충족했는지 여부를 알 수 없습니다.

+0

InitalValue에는 String.Empty의 기본 값이 있는데 이는 첫 번째 ListItem의 기본 값입니다. 유효성 검사기는 가시성을 전환하지 않는 한 정상적으로 작동합니다. –

+0

관련 코드를 모두 게시 할 수 있습니까? 질문에 InitialValue에 설정된 값이 표시되지 않습니다. –

+0

Andrew 당신이 정확하다, 더 깊은 (너무 많은 역동적 인 내 머리 회전 만들기) 내 기본 ListItem의 값은 0 String.Empty 아니라는 것을 발견했다. 나는 InitalValue를 명시 적으로 설정했다. 감사합니다 –

관련 문제