0

フィールドの右側にエラー メッセージを表示したい。ただし、パスワード フィールドにエラーがある場合、パスワードのエラー メッセージは userName フィールドの右側にあります。なぜそのように振る舞うのですか?w3schools に基づいて、私の形式は正しいです。パスワードが正しくありませんというエラー メッセージは、パスワード フィールドの右側にあるはずです。

これは、フォーム内でフォローしているパターンです。

<table border="1">

      <tr>
        <td>UserNAme</td>
        <td>UserName Error message</td>
      </tr>

      <tr>
        <td>Password</td>
        <td>Password Error Message</td>
      </tr>


    </table>

これは私の Struts2 コードです。

 <!--Struts2 log-in-->
                            <s:form method="POST" action="login" theme="simple"  >  
                                <table border="1"  >
                                    <tr>

                                        <td>
                                            UserName:<s:textfield label="UserName"  key="userName" maxLength="20"/>
                                        </td>

                                        <td class="errorMessage">
                                            <s:property  value="fieldErrors.get('userName').get(0)"  /> 
                                        </td>

                                    </tr>

                                    <tr>

                                        <td>
                                            PassWord:<s:password  label="Password"  key="password" maxLength="20"/>
                                        </td>

                                        <td class="errorMessage">
                                            <s:property value="fieldErrors.get('password').get(0)" /> 
                                        <td>

                                    </tr>
                                    <tr> 
                                        <td>
                                            <s:submit  value="Login" align="center"/>
                                        </td>
                                    </tr>
                                </table>
                            </s:form>

This is the html result of the struts.

  <!--Struts2 log-in-->
                        <form id="login" name="login" action="/springtest/login.action" method="POST">  
                            <table border="1"  >
                                <tr>

                                    <td>
                                        UserName:<input type="text" name="userName" maxlength="20" value="tok" id="login_userName"/>
                                    </td>

                                    <td class="errorMessage">
                                        Username don't exist.
                                    </td>

                                </tr>

                                <tr>

                                    <td>
                                        PassWord:<input type="password" name="password" maxlength="20" id="login_password"/>
                                    </td>

                                    <td class="errorMessage">

                                    <td>

                                </tr>
                                <tr>
                                    <td>
                                        <input type="submit" id="login_0" value="Login"/>

                                    </td>
                                </tr>
                            </table>
                        </form>
4

3 に答える 3

1

これは、Struts2 がテーマとテンプレートを使用するためです。

これはあなたを助けるかもしれません。

http://www.mkyong.com/struts2/working-with-struts-2-theme-template/

于 2014-10-03T14:02:24.680 に答える
0

私もxmlを使用して検証を行ったのと同じ問題に直面していました。エラーメッセージは適切な場所にありませんでしたので、この解決策を試してみてください。

<td align="left">
        <div><s:fielderror fieldName="birthDate" /></div>
        <sx:datetimepicker name="birthDate"  value="%{employee.birthDate}" />   
 </td>
于 2012-12-12T06:08:08.260 に答える
0

あなたの問題によると、CSS はアクション クラスを介してフィールド エラーを取得するだけで主導的な役割を果たします。ただし、アクション クラスでエラーを指定する必要があります。

2種類のエラーが存在します

1)フィールドエラー 2)アクションエラー

このフィールド エラーは、アプリケーションの上部にエラーを表示します。次に、css を使用して、フィールド エラーを調整できます。

より多くの利点については、このリンクを使用できます。

Struts ログイン アプリケーション

于 2012-12-12T04:50:25.707 に答える