ControlToValidate可见性更改时,RequiredFieldValidator不会触发

时间:2009-06-03 19:51:24

标签: .net asp.net validation requiredfieldvalidator

当我更改ddl.Visible = true(它在部分回发/ updatepanel上从另一个表单元素事件中更改)时,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>       

1 个答案:

答案 0 :(得分:2)

您需要在RequiredFieldValidator上设置InitialValue属性,以便它知道DropDownList的值何时发生了变化。例如,在包含以下值的下拉列表中:

  
      
  • Please Select
  •   
  • Dog
  •   
  • Cat
  •   
  • Bird
  •   

您可以添加此属性

InitialValue="Please Select" 

RequiredFieldValidator

在不知道值是否已更改的情况下,验证者无法知道用户是否满足其要求。