0

我希望我的错误消息在我的字段的右侧。但是,当密码字段有错误时,密码的错误消息在用户名字段的右侧。为什么它会这样?基于 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

根据您的问题,CSS 将发挥主导作用,只需通过操作类获取字段错误。但是您应该在操作类中指定错误。

存在两种类型的错误

1) 字段错误 2) 动作错误

此字段错误将在应用程序的上方显示错误。然后通过css你可以对齐字段错误。

要获得更多好处,您可以使用此链接,这将有所帮助

Struts 登录应用程序

于 2012-12-12T04:50:25.707 回答
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 回答