java - spring bean 验证 - 禁用某些字段的特定验证

ham*_*med 5 java validation spring-mvc

我的 spring mvc 应用程序中有一个视图模型,我需要启用或禁用某些字段的特定验证。例如,假设我有一个 2 个视图表单,将数据发送到不同的控制器方法,但两种方法都使用相同的视图模型类,如下所示:

@RequestMapping(value = "/method1", method = RequestMethod.POST)
@ResponseBody
public ViewModel method1(@RequestBody @Valid ViewModel viewModel){
      ...
}

@RequestMapping(value = "/method2", method = RequestMethod.POST)
@ResponseBody
public ViewModel method2(@RequestBody @Valid ViewModel viewModel){
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是我的视图模型的一部分:

private Integer test;
Run Code Online (Sandbox Code Playgroud)

我需要在字段@NotNull上使用注释test,但仅在method2控制器中使用。事实上,我不需要在method1. 有什么办法可以做到这一点吗?

小智 -2

在方法1中删除@valid。它不会验证。