2

我是 Spring 新手,在尝试显示表单错误时遇到了一些麻烦。

我有以下表格:

<form:form action="loginform.html" commandName="loginForm" onsubmit="goWait();">
<table><tr>
           <td>User Name: </td>
           <td><form:input path="userName" /></td>
        </tr>
        <tr> 
           <td>Password: </td>
           <td><form:password path="password"/> </td>
        <tr>
            <td colspan="2">
             <input type="submit" value="Login" style="butt-login">
            </td>
        </tr>
</table>                                                        
</form:form>

可以看出,表单由LoginForm验证它的 Bean 支持。

我想在此表单之外显示验证中的所有错误。像这样的东西:

<div>
   <ul>
      <li><form:errors path="userName"/></li>
      <li><form:errors path="password"/></li>
   </ul>
</div>

这个 div 应该在 之外,所以我不能使用标签。

我怎样才能做到这一点?

4

3 回答 3

4

您可以捕获由 form:errors 生成的 html 并将其显示在表单之后的某个位置:

<form:form ...>
    <c:set var="err">
        <form:errors path="*" element="div" id="err" cssClass="hidden" />
    </c:set>
</form:form>

....

<c:out value="${err}" />

如果你想在表单之前显示错误,你可以用一点 jQuery 来做到这一点

于 2013-07-16T13:50:04.997 回答
3

是的,您可以在 form:form 标签之外使用 form:errors 标签

<form:errors path="yourBindedObject.*" />
<form:form action="loginform.html" commandName="loginForm" onsubmit="goWait();">
<table><tr>
           <td>User Name: </td>
           <td><form:input path="userName" /></td>
        </tr>
        <tr> 
           <td>Password: </td>
           <td><form:password path="password"/> </td>
        <tr>
            <td colspan="2">
             <input type="submit" value="Login" style="butt-login">
            </td>
        </tr>
</table>                                                        
</form:form>
于 2015-09-23T10:12:20.830 回答
0

如果您想显示与任何字段相关的所有错误,只需将星号传递给path属性。

<form:errors path="*" />

但是如果你想显示全局错误消息,只需传递一个空字符串:

<form:errors path="" />

更多相关信息:http ://www.mkyong.com/spring-mvc/spring-mvc-form-errors-tag-example/

于 2013-02-11T19:39:27.897 回答