使用ASP的问题:ASP.NET中的RegularExpressionValidator控件

时间:2014-09-21 15:08:24

标签: c# asp.net regex

我回过头来编写了一些代码来检查输入字符串是否符合C#中使用ASP.NET的给定正则表达式。这里讨论的控件是ASP:RegularExpressionValidator控件。问题是,我有一个正则表达式,我检查输入字符串的有效性,如果输入字符串无效,则弹出错误消息。 这是我试过的C#代码:

protected void Validate_Click(object sender, EventArgs e)
        {
            Match expression = Regex.Match(getString.Text, validator.ValidationExpression);
            bool matchSuccess = expression.Success;
            if (matchSuccess)
                match.Text = "Match success";
            else
                match.Text = "Match fail";
        }

这是我的ASP网页表单的代码:

<div style="font-family:'Segoe UI'">
        <asp:TextBox ID="getString" runat="server" Width="300"/>
        <asp:RegularExpressionValidator ID="validator" runat="server" ValidationExpression="ADMIN.[A-Z]{1,5}|[0-9]{1,10}" ControlToValidate="getString" ErrorMessage="does not conform to expression" />
        <asp:Button ID="Validate" runat="server" Text="Validate" OnClick="Validate_Click" />
        <asp:Label ID="match" runat="server" />
    </div>

现在的问题是,当我点击'Validate'按钮时,它应该显示字符串符合正则表达式并且匹配成功或字符串不符合正则表达式并且匹配失败

但我的页面显示匹配成功,同时显示ASP:RegularExpressionValidator控件的错误消息。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您可以删除Validate_Click函数中的代码(不要忘记从按钮中删除OnClick事件处理程序)。 RegularExpressionValidator将自动处理文本框验证,无需其他代码。