对于练习,我必须比较2个文本框是否包含与自定义验证器相同的文本(与comparevalidator做同样的事情) 但我不能使用比较验证器。我必须使用自定义验证器。
它必须比较TextBox1和TextBox2,如果它们不包含相同的值(文本),则必须提供错误消息:不是相同的值!
我该如何解决这个问题?
这是我到目前为止所做的:
标记:
<asp:TextBox ID="TextBox2" runat="server" />
<asp:TextBox ID="TextBox3" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Not the same value !" ControlToValidate="TextBox2" onservervalidate="CustomValidator1_ServerValidate" />
这就是我在代码隐藏中尝试做的事情:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (TextBox2.ToString() != TextBox3.ToString())
{
Label1.Text = "Not the same values";
// don't exactly know what to do in here in order to put it in the error message
}
}
答案 0 :(得分:0)
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (TextBox2.Text != TextBox3.Text)
{
Label1.Text = "Not the same values";
args.IsValid = false;
}
}
答案 1 :(得分:0)
请参阅此讨论。关于您的问题,它有一个解决方案
更新:
试试这个:
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="Not the same value !" ControlToValidate="TextBox2" onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (TextBox2.Text == TextBox3.Text)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}