如何使用JSR 303 @Valid注释来验证基本类型



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();
}

最新更新