【问题标题】:Compare fields (validation c#/asp.net)比较字段(验证 c#/asp.net)
【发布时间】:2012-03-02 11:57:17
【问题描述】:

我正在开发一个具有两个输入字段的应用程序,这些输入字段通过RequiredFieldValidator、RangeValidator 等以不同的方式进行验证。我需要再进行一次验证,即检查用户在 input1 中写入的数字是否不大于在 input2 中的数字,这就是问题所在。

是否可以使用验证控件来比较 2 个输入字段,或者我是否需要为其编写代码?我正在使用 ValidationSummary 控件,当然我想显示所有错误。如果无法使用验证控件来比较 2 个输入字段并且我需要为此编写代码,是否可以使用 ValidationSummary 显示错误消息,在这种情况下如何显示?

提前致谢!

【问题讨论】:

标签: c# asp.net validation


【解决方案1】:

您可以使用CompareValidator。 示例见here

【讨论】:

    【解决方案2】:

    使用自定义验证器控件并使用 ServerValidate 事件根据检查是否正确返回真/假。

    验证摘要将表明该页面无效并显示您的消息。

    C#

       protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
                {
                    if (TextBox1.Text.Length > TextBox2.Text.Length)
                        args.IsValid = false;
                    else
                        args.IsValid = true;
                }
    

    .aspx

     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
                <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Invalid Length" Display="None" onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
                <br />
                <asp:Button ID="Button1" runat="server" Text="Button" />
    

    【讨论】:

      【解决方案3】:

      您是否尝试过使用 CompareValidator?

      这允许您比较 2 个输入字段,并且是根据Requiredfield 和 Range 验证器的标准控件。

      <asp:CompareValidator ControlToCompare="text1" ControlToValidate="text2" ErrorMessage="error" runat="server" Operator="LessThan" Type="Integer" />
      

      【讨论】:

        【解决方案4】:
            bool isLonger(string s1, string s2)
        {
            return s1.Length > s2.Length ? true : false;
        }
        

        如果 s1 的长度大于 s2 的长度,则返回 true

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-11
          • 2010-10-16
          • 2015-07-08
          • 2023-03-30
          • 1970-01-01
          相关资源
          最近更新 更多