从@Valid验证

时间:2015-04-22 12:59:06

标签: java spring spring-mvc java-ee annotations

我使用Spring的@Valid注释来验证使用javax.constraints注释注释的bean字段。

但是当我需要从验证中排除某些字段时我遇到了问题(仅限某些情况)。

我做过调查没有找到任何有用的方法,大多数答案的日期都是2010-2011。令人惊讶的是,这种情况非常普遍。

Spring 4. +的时间是否有任何变化?或者也许任何人都可以分享个人经验如何击败这个?

感谢。

1 个答案:

答案 0 :(得分:9)

您可以使用验证组和@Validated注释。

http://www.javacodegeeks.com/2014/08/validation-groups-in-spring-mvc.html

中有详细说明

该方法基于hibernate validator's groups,它使您能够根据标记接口对验证进行分组,并将其应用于处理程序级别,例如链接中给出的示例

@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";
}