代码之家  ›  专栏  ›  技术社区  ›  rick schott

更改ControlToValidate可见性时不触发RequiredFieldValidator

  •  0
  • rick schott  · 技术社区  · 15 年前

    当我更改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 回复  |  直到 15 年前
        1
  •  2
  •   Andrew Hare    15 年前

    你需要设置 InitialValue 您的财产 RequiredFieldValidator 以便它知道 DropDownList 改变了。例如,在具有这些值的下拉列表中:

    • Please Select
    • Dog
    • Cat
    • Bird

    您将添加此属性

    InitialValue="Please Select" 
    

    对你 非空验证 .

    如果不知道值是否发生了变化,验证程序就无法知道用户是否满足了其要求。

    推荐文章