【发布时间】:2011-10-14 13:58:28
【问题描述】:
我正在开发一个带有表单验证的 Spring 3 MVC 应用程序。验证正在服务器端进行,但即使我返回 BindingResult,验证失败时标记也不会显示消息。
控制器方法:
@RequestMapping(value = "server/{serverId}/save", method = RequestMethod.POST)
public ModelAndView saveServer( @PathVariable long serverId,
@Valid ServerEditor serverEditor,
BindingResult result){
AdminSystemServer server = adminService.loadServer(serverId);
if (!result.hasErrors()){
server.setServerName(serverEditor.getServerName());
server.setServerUrl(serverEditor.getServerUrl());
adminService.save(server);
}
mv.setViewName(".layout.servers.manage.server");
mv.addObject("server", server);
mv.addObject("result", result);
return mv;
}
表单jsp
<form:form commandName="serverEditor" action="/admin/app/servers/manage/system/save">
<span class="tableRow">
<label for="serverName">System Name</label>
<form:input path="serverName" class="required" /><br />
</span>
<span class="tableRow">
<form:errors cssClass="errors" path="serverName" />
</span>
</form:form>
我知道验证正在工作,因为我逐步调试并看到绑定结果中的错误,但消息从未出现。
有人有什么想法吗?
【问题讨论】:
-
你的
<form:form>标签是什么样的?
标签: java model-view-controller spring spring-mvc validation