400 Hibernate @Valid的错误请求

验证表单时,我的行为很奇怪。

一旦添加了Hibernate @Valid批注,如果发布的数据无效,Tomcat会将我的请求视为“错误”。如果数据有效,则无后顾之忧。

我用:

  • Tomcat 7.0.52
  • Javax验证API 1.1.0.Final
  • Hibernate Validator 5.1.0.Final
  • Spring 4.0.3发布

目前,我做了一个非常简单的验证:

public class RemoveCacheElementForm {

@NotBlank(message = "Please select a cache name.")

private String name;

@NotBlank(message = "Please select a cache entry key.")

private String key;

Spring控制器:

/**

* Handler to remove one cached elements from the specified cache.

*

* @return the view.

*/

@RequestMapping(value = CACHE_REMOVE, method = RequestMethod.POST)

public String removeCachedElement(ModelMap model, @Valid @ModelAttribute(FORM_NAME) RemoveCacheElementForm form) {

model.addAttribute("removeElementResult", CacheUtils.removeCachedElement(form.getName(), form.getKey()));

initializeModel(model);

return CACHE_ADMIN_PAGE;

}

当我删除@Valid注释时,也不必担心。

有人有主意吗?

非常感谢你的帮助!:-)

回答:

尝试将代码更改为

@RequestMapping(value = CACHE_REMOVE, method = RequestMethod.POST)

public String removeCachedElement(ModelMap model, @Valid @ModelAttribute(FORM_NAME) RemoveCacheElementForm form, BindingResult bindingResult) {

model.addAttribute("removeElementResult", CacheUtils.removeCachedElement(form.getName(), form.getKey()));

initializeModel(model);

return CACHE_ADMIN_PAGE;

}

以上是 400 Hibernate @Valid的错误请求 的全部内容, 来源链接: utcz.com/qa/404541.html

回到顶部