1

我使用 asp.net ..在登录表单中我使用必填字段验证器和正则表达式验证器作为用户名。所以我需要在相同的 td 中显示错误消息以进行两个验证。首先它需要验证必填字段并在 td 中显示错误消息.如果那是字段,它需要检查该表达式并覆盖同一 td 中的错误消息。

这是我的 html.on 按钮单击验证正在工作,但错误消息显示在连续位置..

       <tr>
        <td>
            <asp:Label ID="l_uname" runat="server" CssClass="label" Text="User Name" ></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="t_uname" runat="server" CssClass="text" ToolTip="Enter Username"></asp:TextBox>
        </td>           
        <td>
        <label class="l" runat="server">*</label>
        </td>
        <td>
        <asp:RequiredFieldValidator ID="rf_uname" CssClass="t" runat="server"           ErrorMessage="Enter the username" 
          ControlToValidate="t_uname"    ValidationGroup="logingroup"></asp:RequiredFieldValidator>
         <asp:RegularExpressionValidator ID="Re_name" runat="server"
            CssClass="t"  ControlToValidate="t_name" ValidationGroup="logingroup" 
            ValidationExpression="^[A-Za-z ]{6,20}$" ErrorMessage="Name should be 6-20 character">
            </asp:RegularExpressionValidator>
        </td>
    </tr>
    <asp:Button ID="login" runat="server" Text="Login" ValidationGroup="logingroup"     onclick="login_Click"/>
4

3 回答 3

2

将显示动态 (Display="Dynamic") 添加到它们不会在连续位置显示的验证器控件中。

像这样

 <asp:RequiredFieldValidator ID="rf_uname" CssClass="t" runat="server"           ErrorMessage="Enter the username" 
              ControlToValidate="t_uname" Display="Dynamic" ValidationGroup="logingroup"></asp:RequiredFieldValidator>
             <asp:RegularExpressionValidator ID="Re_name" Display="Dynamic" runat="server"
                CssClass="t"  ControlToValidate="t_name" ValidationGroup="logingroup" 
                ValidationExpression="^[A-Za-z ]{6,20}$" ErrorMessage="Name should be 6-20 character">
                </asp:RegularExpressionValidator>

希望这可以帮助

于 2012-09-21T11:45:12.283 回答
1

如果你有一个带有 css 类“tdclass”的 td,那么使用 text() 方法

$('.tdclass').text("message");

如果你想写 Html 然后使用html()方法

于 2012-09-21T10:14:00.823 回答
0

两个验证器将一起运行。要一次运行它们,您将需要Enable服务器端的第二个验证器。不是一个很好的方法。

更好的方法是只有一个正则表达式验证器,其中包含正确的消息以指示它是必需的,并且在 6-20 个字符之间

 <asp:RegularExpressionValidator ID="Re_name" runat="server"
        CssClass="t"  ControlToValidate="t_name" ValidationGroup="logingroup" 
        ValidationExpression="^[A-Za-z ]{6,20}$" 
        ErrorMessage="Username is required to be between 6-20 characters">
        </asp:RegularExpressionValidator>

对于客户端验证,请查看jQuery Validation插件。这很简单,您需要做的就是添加 css 类来告诉它要应用什么验证。它确实在需要时支持更复杂的规则。

于 2012-09-21T10:43:41.357 回答