我正在尝试使用Visual Basic.Net和ASP进行验证。
我将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
答案 0 :(得分:0)
允许最多3个字符的正则表达式为:
^.{0,3}$
所以替换
LoginID.ValidationExpression = "[\\s\\S]{0,3}"
与
LoginID.ValidationExpression = "^.{0,3}$"