我是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应该在外面,所以我不能使用标签。
我该怎么做?
答案 0 :(得分: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做到这一点
答案 1 :(得分:3)
是的,您可以使用表单:表单外的错误标记:表单标记
<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>
答案 2 :(得分:0)
如果您想要显示与任何字段相关联的所有错误,只需将星标传递给path
属性。
<form:errors path="*" />
但是如果你想显示全局错误消息,只需传递一个空字符串:
<form:errors path="" />
更多相关信息:http://www.mkyong.com/spring-mvc/spring-mvc-form-errors-tag-example/