[英]Validating @RequestParam in Spring 3 MVC
如何验证Spring @RequestParam以便它们在BindingResult中而不必使用某种POJO传输对象(@ModelAttribute)?
我可以使用MapBindingResult并将请求参数放入其中,但我必须将该绑定结果放入模型中。
我可以使用org.springframework.validation.BindingResult.MODEL_KEY_PREFIX +名称。
有没有更好的方法来绑定和验证请求参数(而不是制作另一个POJO)?
如果您使用的是Spring MVC 3.0或更高版本,则可以使用Spring提供的声明性验证支持 。 然后,您将在模型bean上声明验证限制,并将@Valid
注释添加到表单支持bean,如参考文档中的“Spring Validation”一章所述。
如果在验证bean之后直接添加BindingResult
参数,则可以检查控制器中的验证错误:
// .. in the bean class
public class MyBean {
@NotNull
private String name;
// ..
}
// .. in the @Controller
public ModelAndView doSomething(@Valid MyBean data, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
// back to form
}
// do something with the bean
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.