JSR 303 @Valid注释可用于验证控制器方法的输入对象,如Mkyong.com
所示。是否可以使用@Valid注释来验证像int和long[]这样的基本类型?如果有,怎么做?
下面是一个需要验证参数大于0的Spring MVC方法签名示例:
@RequestMapping(value = { "/delete" }, method = RequestMethod.POST)
ModelAndView deleteBulk(@RequestParam("userId") int userId, @RequestParam("ids") long[] ids) {
不行。它用于bean验证,如下所述。
您可以验证@RequestParam/@PathVariable简单对象和原语,如果将@Validated放在完整控制器上。
如果你不使用spring-boot,你应该自己声明MethodValidationPostProcessor
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
}