繁体   English   中英

在Spring 3 MVC中验证@RequestParam

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM