当前位置: 首页 > 面试题库 >

从@Valid验证中排除一些字段

公孙俊弼
2023-03-14
问题内容

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

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

我进行的一项调查没有找到任何有用的方法,大多数答案的日期都定为2010-2011。令人惊讶的是,这种情况如此普遍。

从那时开始,Spring 4. +有什么变化吗?或者,也许任何人都可以分享个人经验如何克服这一点?

谢谢。


问题答案:

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

http://www.javacodegeeks.com/2014/08/validation-groups-in-spring-
mvc.html中
有详细说明。

该方法基于hibernate验证器的组,它使您可以基于标记器接口对验证进行分组,并将其应用于处理程序级别,如链接中给出的示例

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


 类似资料:
  • 我试图从登录身份验证中排除一个JSF页面。我在web.xml中添加了一个没有auth-constraint标记的安全约束,如下所示:https://blog.mafr.de/2011/04/17/exclusion-pages-from-auth/ 这并不能解决问题,因为我使用的是在web.xml中配置的基于容器的登录配置。 下面是我的登录和安全约束配置:

  • 由于这个问题,我想我理解了验证是如何工作的。 至于JPA,这里我们有一个名为JSR-303的规范,解释了Bean验证应该如何工作,然后我们也使用了常用的Hibernate Validator或Apache BVal等实现。 我正在努力在我的代码的某些部分使用。我没有使用,因为我不需要组验证。 您可以在此处找到演示项目的示例 在PropertyExample类中,您可以看到我标记了我的类以进行bea

  • 环境:IBM WAS 8.0,CDI 1.0实现:OpenWebBeans 我怎么能排除几个包从服务器启动扫描? 是否有任何CDI扩展可用或需要为此编写自定义扩展?

  • 问题内容: 我想从我的字符串中删除以下所有字符 “> [],-” 目前我正在这样做。但必须有一个更有效的方法 问题答案: 使用描述要替换的所有字符的正则表达式,以及替换与该正则表达式匹配的所有内容的方法: (编辑:实际上,我认为不应该转义。而且我忘记了将反斜杠加倍,因为它们会被解释两次:一次是由Java编译器,一次是由正则表达式引擎。)

  • 问题内容: 我使用GSON进行序列化时,没有找到一种方法,无法根据Gson根据字段值提供的ExclusionStrategy类从序列化中排除某些字段,因为它仅支持基于顶级类或字段属性的排除。字段属性不包括该字段的值。所以我该怎么做? 问题答案: 实现此目的的方法是为相关类创建自定义序列化程序。在允许Gson以默认方式创建JSON对象之后,请根据其值删除要排除的属性。 并在用于此类的应用程序中用于序

  • 如果我们有如下查询 返回预期的结果(如下所示) 正如您所看到的,查询是针对和我们希望从结果中排除其他字段,但只包括和的字段 并排除其他字段,例如,以下是一些不是或(传递到查询中的字段)的字段-从