0

我正在尝试使用带有 ASP 的 Visual Basic.Net 编写一个带有验证的表单。

我将 RegularExpressionValidator 放入表单字段中进行测试,并通过 Page_Load 函数中的 Visual Basic 代码分配属性,如下所示:

LoginID.ValidationExpression = "[\\s\\S]{0,3}"
LoginID.ErrorMessage = "Maximum 3 characters are allowed."

我设置了一个最多三个字符用于测试目的。无论长度如何,该文本字段的输入都将无效,并且错误消息不会从其库存值更新。

为什么会发生这种情况,我该如何解决?

编辑:

我的正则表达式工作得很好。我已经测试过了。一定是别的什么问题。

这是需要查看更多内容的人的大部分代码。除此之外,我没有看到任何其他相关内容:

<%-- ASP code %>
<th width="200"><span class="required">*</span>Create Login ID :</th>
     <td width="230" align="left"><asp:TextBox ID="txtLoginID" runat="server"          CssClass="inputbox" MaxLength="50"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ValidationGroup="First" CssClass="ValueValidator" ControlToValidate="txtLoginID" Display="Dynamic" runat="server" ErrorMessage="<br>Please Enter LoginID"></asp:RequiredFieldValidator>

<asp:RegularExpressionValidator ID="ValRegExLoginID" runat="server" ControlToValidate="txtLoginID" CssClass="ValueValidator" ErrorMessage="*"></asp:RegularExpressionValidator>

</td>

//Visual Basic Code
Protected Sub Page_Load(ByVal source As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not IsPostBack Then
    ValRegExLoginID.ValidationExpression = "[\\s\\S]{0, 3}"
    ValRegExLoginID.ErrorMessage = "Maximum 3 characters are allowed."
End If

End Sub
4

1 回答 1

0

最多允许 3 个字符的正则表达式是:

^.{0,3}$

所以更换

LoginID.ValidationExpression = "[\\s\\S]{0,3}"

LoginID.ValidationExpression = "^.{0,3}$"
于 2012-12-12T18:29:10.560 回答