在ASP.NET中使用ASP:RegularExpressionValidator控件时出现的问题
本文关键字:ASP 问题 控件 NET RegularExpressionValidator | 更新日期: 2023-09-27 18:23:52
我写了一些代码,用ASP.NET检查输入字符串是否符合C#中给定的正则表达式。这里有问题的控件是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>
现在的问题是,当我单击"验证"按钮时,它应该显示字符串符合正则表达式并且匹配成功,或者字符串不符合正则表达式而匹配失败。
但我的页面显示匹配成功,同时显示ASP:RegularExpressionValidator
控件的错误消息。
我该如何解决这个问题?
您可以删除Validate_Click
函数中的代码(不要忘记从按钮中删除OnClick
事件处理程序)。RegularExpressionValidator
将自动处理文本框验证,无需额外的代码要求。