RequiredFieldValidator IsValid在visible = false控件上返回false

本文关键字:false 控件 返回 IsValid visible RequiredFieldValidator | 更新日期: 2023-09-27 18:12:28

我想当文本框是visible = false时,RequiredFieldValidator不应该运行。

这是我的aspx代码:

<asp:TextBox runat="server" ID="txtAmt" MaxLength="7" Style="width: 100px;"/>
                    <asp:RequiredFieldValidator ValidationGroup="ln" runat="server" ControlToValidate="txtAmt"
                        Display="Dynamic" ErrorMessage="Required" />

现在在

后面的代码中
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           txtAmt.Visible = false;
        }
    }

,然而在我的按钮点击处理程序,当我做一个Page.IsValid,它返回false如果文本框是空的。你知道怎么解决这个问题吗?

RequiredFieldValidator IsValid在visible = false控件上返回false

为验证器指定一个ID并禁用它。

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           txtAmt.Visible = false;
         if(!txtAmt.visible) { txtamtValidator.Enabled=false};
        }
    }

使用javascript可以实现这个

<script type="text/javascript">
        function txtAmtOff()
        {
            document.getElementById("txtAmt").style.display = 'none';
            ValidatorEnable(document.getElementById("txtAmtValidator"), false);
        }
        function txtAmtOn()
        {
            document.getElementById("txtAmt").style.display = 'inline';
            ValidatorEnable(document.getElementById("txtAmtValidator"), true);
        }
    </script>