1个TextBox可以有2个RegularExpressionValidator吗?

时间:2013-08-01 13:35:22

标签: asp.net server-side-validation

我正在尝试验证用户注册页面中用于用户名的 TextBox 。条件是:

  1. 第一个字符应为大写字母。
  2. 长度最多为8个字符。
  3. 我正在使用 RegularExpressionValidator 同时检查这两个条件,但这会产生相同的错误消息:"Username should be maximum 8 characters long and start with an uppercase letter."

    我想根据上述条件显示特定的错误消息,例如:

    • 条件1:用户名应以大写字母开头。
    • 条件2:用户名最多8个字符。

    如果不满足这两个条件,我希望同时显示两条错误消息。

    这是我现在的代码:

    <asp:TextBox ID="username" runat="server" CssClass="InputText"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rfvUsername" runat="server"
        ControlToValidate="username" Display="Dynamic"
        EnableClientScript="true">Username is required
    </asp:RequiredFieldValidator>
    <asp:RegularExpressionValidator
        ID="revUsername" runat="server" Display="Dynamic"  
        ControlToValidate="username"
        ValidationExpression="[A-Z][A-Z0-9]{0,7}" >
            Username should be max 8 characters long
            and should start with an alphabet.
    </asp:RegularExpressionValidator>
    

    我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

<asp:TextBox ID="username" runat="server" MaxLength="8" CssClass="InputText"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvUsername" runat="server"
    ControlToValidate="username" Display="Dynamic"
    EnableClientScript="true">Username is required
</asp:RequiredFieldValidator>

表示首字母大写 Regex to check if the first character is uppercase