【发布时间】:2011-01-20 06:09:37
【问题描述】:
在我的 ASP.NET Web 表单中,我有一个多行 TextBox,应该使用正则表达式验证器进行验证。文本框应包含一个或多个字符串“a”(只是 'a' 字符,没有其他内容)。
到目前为止,我的RegularExpressionValidator 对象得到了这些正则表达式:
(?m:(^a$)+)
(?m:\A(^a$)+\Z)
(?m:^a$)
还有一些其他的。两者都不起作用。猜猜我还没有掌握一些基本的东西。
你能告诉我哪里错了吗?
这是涉及的代码。
一个按钮(仅用于回发):
<asp:Button ID="Button1" runat="server" Text="Button" />
文本框:
<asp:TextBox ID="TextBox1" runat="server" Rows="10" TextMode="MultiLine"></asp:TextBox>
还有正则表达式验证器:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RegularExpressionValidator"
ValidationExpression="(?m:(^a$)+)"></asp:RegularExpressionValidator>
该 Web 表单上没有其他内容。我只添加了这些控件并修改了属性。我什至使用 VS GUI 完成了所有这些操作。
使用 CustomValidator 并在其中执行 Regex.Match(TextBox1, @"(?m:(^a$)+)") 效果很好。我猜 RegularExpressionValidator 有问题。
【问题讨论】:
-
你能提供一些有效字符串的例子吗?每行可以包含多个“a”字符还是仅包含一个“a”字符?
-
嘿马可!这只是一个单一的“a”字符,这是为了简单起见。但实际上这不是重点。可以是任何表达式。
标签: asp.net regex validation multiline