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、サーバー側で 2 番目のバリデーターが必要になります。あまり良いアプローチではありません。

より良いアプローチは、必要であることを示す適切なメッセージと 6 ~ 20 文字の Regex バリデーターを 1 つだけ持つことです。

 <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 に答える