从@Valid 验证中排除某些字段
exclude some fields from @Valid validation
我使用 Spring 的 @Valid
注释来验证用 javax.constraints
注释注释的 bean 字段。
但是当我需要从验证中排除某些字段时遇到问题(仅适用于某些情况)。
我做了调查,没有找到任何有用的方法,而且大多数答案的日期是 2010-2011 年。这种情况如此普遍,真是令人惊讶。
Spring 4.+ 与那个时代相比有什么变化吗?或者也许任何人都可以分享个人经验如何打败这个?
谢谢。
您可以使用验证组和 @Validated
注释。
http://www.javacodegeeks.com/2014/08/validation-groups-in-spring-mvc.html
里面有详细的解释
该方法基于 hibernate validator's groups,它使您能够根据标记接口对验证进行分组并将其应用于处理程序级别,如 link
中给出的示例
@RequestMapping(value = "stepTwo", method = RequestMethod.POST)
public String stepTwo(@Validated(Account.ValidationStepTwo.class) Account account, Errors errors) {
if (errors.hasErrors()) {
return VIEW_STEP_TWO;
}
return "redirect:summary";
}
我使用 Spring 的 @Valid
注释来验证用 javax.constraints
注释注释的 bean 字段。
但是当我需要从验证中排除某些字段时遇到问题(仅适用于某些情况)。
我做了调查,没有找到任何有用的方法,而且大多数答案的日期是 2010-2011 年。这种情况如此普遍,真是令人惊讶。
Spring 4.+ 与那个时代相比有什么变化吗?或者也许任何人都可以分享个人经验如何打败这个?
谢谢。
您可以使用验证组和 @Validated
注释。
http://www.javacodegeeks.com/2014/08/validation-groups-in-spring-mvc.html
里面有详细的解释该方法基于 hibernate validator's groups,它使您能够根据标记接口对验证进行分组并将其应用于处理程序级别,如 link
中给出的示例@RequestMapping(value = "stepTwo", method = RequestMethod.POST)
public String stepTwo(@Validated(Account.ValidationStepTwo.class) Account account, Errors errors) {
if (errors.hasErrors()) {
return VIEW_STEP_TWO;
}
return "redirect:summary";
}