我希望当文本框为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
。知道如何解决这个问题吗?
答案 0 :(得分:3)
只需为验证器分配ID并将其禁用即可。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txtAmt.Visible = false;
if(!txtAmt.visible) { txtamtValidator.Enabled=false};
}
}
答案 1 :(得分:0)
使用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>