gpt4 book ai didi

c# - 仅需要两个文本框之一(自定义验证器)

转载 作者:行者123 更新时间:2023-12-03 02:38:10 26 4
gpt4 key购买 nike

说明:我有两个文本框,用户可以选择填写两个文本框,但必须至少填写其中一个。

预期结果:显示错误消息意外结果:未显示错误消息

HTML:

<asp:TextBox ID="TB1" runat="server" /> 
<asp:CustomValidator ID="CV1" ControlToValidate="TB1" runat="server" OnServerValidate="blabla" ErrorMessage="one of two required" />
<asp:TextBox ID="TB2" runat="server" />
<asp:CustomValidator ID="CV2" ControlToValidate="TB2" runat="server" OnServerValidate="blabla" ErrorMessage="they cant both be blank" />

C#:

protected void blabla(object sender, ServerValidateEventArgs e)
{
if (TB1.Text.Length == 0 && TB2.Text.Length == 0)
e.IsValid = false;
else
e.IsValid = true;
}

请您帮忙解释一下为什么这不起作用?

最佳答案

对于这两种情况,您只需要一个 CustomValidator。对于此类情况,它是唯一可以省略 ControlToValidate 的验证器。

aspx:

<asp:TextBox ID="TB1" runat="server" /> 
<asp:TextBox ID="TB2" runat="server" />
<asp:CustomValidator ID="CV1"runat="server"
OnServerValidate="ServerValidation"
ErrorMessage="one of two required" />

隐藏代码:

protected void ServerValidation(object source, ServerValidateEventArgs args)
{
args.IsValid = TB1.Text.Trim().Length > 0 || TB2.Text.Trim().Length > 0;
}

关于c# - 仅需要两个文本框之一(自定义验证器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16054872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com