我有一个 Spring MVC 应用程序,我在其中使用数据绑定来使用发布的值填充自定义表单对象 someForm。控制器的有趣部分如下所示:
@RequestMapping(value = "/some/path", method = RequestMethod.POST)
public String createNewUser(@ModelAttribute("someForm") SomeForm someForm, BindingResult result){
SomeFormValidator validator = new SomeFormValidator();
validator.validate(someForm, result);
if(result.hasErrors()){
...
return "/some/path";
}
}
SomeFormValidator类正在实现 Springs org.springframework.validation.Validator接口。虽然这对于验证用户输入和创建与输入相关的错误消息非常有用,但这似乎不太适合处理更严重的错误,这些错误无法呈现给用户但仍与控制器输入相关,例如缺少预计将在发布时出现的隐藏字段。此类错误应导致应用程序错误。处理此类错误的 Spring MVC 方法是什么?