ASP.NET多个验证控件在单个asp.net输入控件上?

时间:2013-05-31 07:22:10

标签: asp.net regex validation

我有以下文本框及其验证器,但是当我输入正确的文本时会触发RegularExpressionValidator错误消息,无法弄清楚我做错了什么

            <asp:TextBox ID="txtName" runat="server" onkeypress="return keyRestrict(event,'abcdefghijklmnopqrstuvwxyz-0123456789')"
                AutoCompleteType="Disabled" Width="199px"></asp:TextBox><span style="color: Red">*</span>
            <asp:RequiredFieldValidator Display="Dynamic" ID="RequiredFieldValidator3" runat="server"
                ControlToValidate="txtName"></asp:RequiredFieldValidator>
            <asp:RegularExpressionValidator ID="revName" runat="server" ControlToValidate="txtName"
                CssClass="text-error" Display="Dynamic" ValidationExpression="^[\p{L}\s]+$" ErrorMessage="Invalid Name"></asp:RegularExpressionValidator>

我还使用了ValidationExpression ^[A-Za-z]+$来测试ValidationExpression中是否存在某些错误,然后在正在验证的文本框中的Name中键入,但仍然触发了错误消息的RegularExpressionValidator。

此致

1 个答案:

答案 0 :(得分:0)

^[\p{L}\s]+$只匹配1个或多个字母(不是数字)或空格..

如果您想用数字验证它,您必须使用

^[\p{L}\p{N}\s]+$

这将匹配unicode字母,数字和空格1到很多次