繁体   English   中英

自定义验证器进行比较

[英]Custom validator to compare

为了进行练习,我必须比较两个文本框是否包含带有自定义验证器的相同文本(做一个与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
    }
}  
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        if (TextBox2.Text != TextBox3.Text)
        {
            Label1.Text = "Not the same values";
            args.IsValid = false;
        }
      }

请参考此讨论。有关您的问题的讨论,它有一个解决方案

检查一下

更新:

尝试这个 :

<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;
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM