如果我在 jsr 303 中使用两个自定义注释,如果第一个注释失败,如何停止对第二个注释的验证?

2024-01-02

我在使用 jsr303 时遇到下一个问题:

我已经用以下方式注释了字段:

@NotEmpty(message = "Please specify your post code")
@PostCode(message = "Your post code is incorrect")
private String postCode;

但仅当字段通过@NotEmpty 验证时,我才需要检查@PostCode。如何检查这两个注释? 提前致谢


您可以使用验证组按组执行验证。有关详细信息,请参阅部分3.4.组和组顺序 in JSR-303 http://download.oracle.com/otn-pub/jcp/bean_validation-1.0-fr-oth-JSpec/bean_validation-1_0-final-spec.pdf。在您的示例中,您会执行以下操作:

@NotEmpty(message = "Please specify your post code")
@PostCode(message = "Your post code is incorrect", groups = Extended.class)
private String postCode;

验证时,您将调用默认组的验证,然后如果没有发生错误,则为Extended group.

Validator validator = factory.getValidator();

Set<ConstraintViolation<MyClass>> constraintViolations = validator.validate(myClass, Default.class);

if (constraintViolations.isEmpty()) {
    constraintViolations = validator.validate(myClass, Extended.class);
}

您可以使用验证组做更多事情。

另一种方法是进行所有验证(如果您负担得起),然后手动过滤掉同一字段的多个验证错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我在 jsr 303 中使用两个自定义注释,如果第一个注释失败,如何停止对第二个注释的验证? 的相关文章

  • “JSONArray 文本必须在 null 的第 1 个字符处以 '[' 开头”

    只是想知道这个错误可能意味着什么 我从下面的代码中得到它 try JSONArray jArray new JSONArray result for int i 0 i
  • 无论线程如何,对象是否总是能看到其最新的内部状态?

    假设我有一个带有简单整数计数变量的可运行对象 每次可运行对象运行时该变量都会递增 该对象的一个 实例被提交以在计划的执行程序服务中定期运行 class Counter implements Runnable private int coun
  • 在 String 值之后打印 int 值

    我有以下示例代码 int pay 80 int bonus 65 System out println pay bonus bonus pay 有人可以向我解释一下为什么我得到以下输出 145 6580 您的代码正在从左到右解释表达式 pa
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • Hashset - 创建 Set 后使对象相同

    如果我们在 HashSet 中添加两个不同的对象 可变的 然后通过调用 setter 更改对象的值 使它们相同 则大小仍然是 hashSet 的 2 我无法理解其原因 public static void main String args
  • Java 小程序在 Mac 上闪烁

    这个问题很奇怪 问题并非在每个平台上都会发生 我在使用 MacOSX 的 Google Chrome 中出现了这种情况 但在 Safari 中却没有出现这种情况 对于使用 Windows 的朋友来说 在 Google Chrome 上运行得
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • FileObserver 不适用于 Android 6.0 Marshmallow (API 23) 中的外部存储

    我有一个应用程序可以观察外部存储上的公共目录FileObserver 它运行良好Lollipop设备 我想添加对Marshmallow 所以我用它设置了一台 Nexus 9 平板电脑 在 Marshmallow 设备上 它失败 在 Loll
  • 在拇指上方显示修改后的 JSlider 值

    有没有一种简单的方法可以在使用某些 外观和感觉 的同时更改 JSlider 上方标签中显示的值 为了清楚起见 我正在谈论这个值 具体来说 我想显示除以 1000 的值而不是值本身 我知道如果我显示它们 我可以为刻度设置标签 但用户将不得不猜
  • JERSEY:错误跟踪:java.lang.IllegalStateException:实体输入流已关闭

    我正在使用 Jersey 2 x 以下是我的控制器 GET Path id Produces application json public Response getUser PathParam id int userId Context
  • 了解Kafka流groupBy和window

    我无法理解 kafka 流中的 groupBy groupById 和窗口的概念 我的目标是聚合一段时间内 例如 5 秒 的流数据 我的流数据看起来像 value 0 time 1533875665509 value 10 time 153
  • Java HashSet 是线程安全的只读吗?

    如果我通过 Collections unmodifyingSet 运行 HashSet 实例后 它是线程安全的吗 我问这个是因为 Set 文档声明它不是 但我只是执行读取操作 来自 Javadoc 请注意 此实现不是同步的 如果多个线程同时
  • 接口是否像对象一样对待?

    为什么下面的代码可以工作 interface I class A implements I public String toString return in a class B extends A public String toStrin
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • Proguard 正在破坏我的清洁度。 Gson 和泛型

    我有一个从持久性加载信息的函数 我只是以一种非常简单的方式告诉它的类型 该类称为SharedPreferencesHelper kt所以它是一个真正的生活问题解决者 fun
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • 在java中执行匿名pl/sql块并获取结果集

    我想执行匿名 PL SQL 并需要获取结果集对象 我得到了可以通过在 PL SQL 块内使用游标来完成的代码 但 PL SQL 块本身将以文本形式来自数据库 所以我无法编辑该 PL SQL 块 并且它只会返回两个值 其列名始终相同 它将返回
  • 检查按钮是否可用?如果没有,请等待 5 秒钟,然后再次检查?

    基本上我想看看此刻是否可以单击按钮 如果没有我想再试一次 所以我需要某种 goto 函数来返回到代码的前一行 尽管我怀疑我写得非常糟糕 但它本来可以做得更容易 try driver findElement By xpath button i
  • Android ClassNotFoundException:在路径上找不到类

    10 22 15 29 40 897 E AndroidRuntime 2561 FATAL EXCEPTION main 10 22 15 29 40 897 E AndroidRuntime 2561 java lang Runtime

随机推荐

  • 更多关于 PHP OOP - 类中的类

    有人告诉我在 PHP 中不能在类中定义类 然而 在我自己的例子中 这似乎有效 这让我感到困惑 类 测试 php require class 1 php new class 1 Need missing variable here 类 1 p
  • 状态栏进度表不显示消息

    我正在尝试组合一个 状态栏进度表 来帮助用户加载冗长的宏 我进行了一些研究并发现this http datapigtechnologies com blog index php show a progress meter in the st
  • 双层 D3 分区上的标签/旭日布局

    我正在尝试将标签添加到此处显示的双层旭日 分区 http bl ocks org mbostock 5944371 http bl ocks org mbostock 5944371 我已将标签添加到前两个级别并正确旋转它们 但我现在无法在
  • dataStream.Length 和 .Position 引发了“System.NotSupportedException”类型的异常

    我正在尝试使用 http post 将一些数据从 ASP NET 发布到 Web 服务 这样做时我收到了所附的错误 我检查了很多帖子 但没有什么对我真正有帮助 对此的任何帮助将不胜感激 Length dataStream Length 引发
  • 图数据库和RDF三元组:Python中图数据的存储

    我需要用 python 开发一个图形数据库 如果有人能加入我的开发 我会很高兴 我已经有了一些代码 但我很乐意讨论它 我在互联网上做了研究 在爪哇语中 neo4j http neo4j org 是一个候选者 但我找不到任何有关实际磁盘存储的
  • 导航视图点击事件

    我正在使用 Android Studio 模板中的 android 导航抽屉式导航菜单 如何根据 id 导航到不同的活动 DrawerLayout drawer findViewById R id drawer layout Navigat
  • 设置 Context.Response.StatusCode 似乎不起作用

    我有一个带有以下代码的 HttpHandler using System using System Web using Company Cms using Company Web Handlers Console namespace Com
  • 获取github Secret值的方法

    有没有办法获取 github 秘密值并在工作流程中显示 或者在存储后通过库或 APi 甚至 github 门户获取 我只是想验证一下 Github Actions 会替换日志中的秘密值 因此如果您想查看秘密 则必须首先更改其值 就像这一步
  • java.sql.SQLException:Io 异常:对等方重置连接:套接字写入错误

    我正在使用 oracle 11g hibernate 3 和 jsf2 我在 was7 上部署了我的应用程序 一切都很顺利 但是当我在 5 6 小时后尝试登录时 出现错误 ERROR org hibernate util JDBCExcep
  • 为什么我无法在 Javascript Date 对象上使用 getDay() 方法和 getUTCDay() 方法获得相同的结果

    今天是星期一 上午 00 51 我来自魁北克市 因此我的时间为 GMT 0500 UTC 05 00 我不知道为什么下面的代码给了我两个不同的结果 const weekday Array sunday monday tuesday wedn
  • Express.js 会话在大约 3 分钟后丢失

    我使用express js 和React 成功登录后我存储user id在会话中 但 2 3 分钟后会话丢失 当我刷新页面时 他们将我注销 这是我的 server js var mysql require mysql var connect
  • 更新 DLL 参考

    我想将 NET 项目中使用的一些 DLL 更新到最新版本 我注意到 如果我用新版本替换文件系统上的 DLL VS 2012 会更新 属性 窗口中的 DLL 版本号 这是VS 2012的新功能吗 我不记得在 VS 2010 中看到过它 我预计
  • 尾递归List.map

    OCaml 中典型的 List map 函数非常简单 它接受一个函数和一个列表 并将该函数递归地应用于列表的每个项目 我现在需要将List map转换为尾递归函数 该怎么做 累加器应该累加什么 可以说 最简单的方法是实施map就尾递归辅助函
  • HashMap 在多个键中搜索特定值

    我正在检查 HashMap 中是否存在某个键 如果存在 我还想检查是否有任何其他键具有与我检查的原始键同名的值 比如我有这个 System out println What course do you want to search Stri
  • Python-通过单击链接从网页下载文件

    我在互联网上寻找解决方案 但似乎没有一个真正适用于此 我正在编写一个 Python 程序来使用历史数据预测第二天的股票价格 我不需要雅虎财经提供的自成立以来的所有历史数据 而只需要最近 60 天左右的数据 纳斯达克网站提供了适量的历史数据
  • 添加可移植类库对话框中的 xamarin 支持

    要使这两个项目在 添加可移植类库 对话框中可用 需要执行哪些步骤 请参阅我的回答创建针对 Monodroid 的 PCL https stackoverflow com questions 16634788 creating a pcl t
  • NHibernate 批量插入不起作用

    我正在尝试让 NH 批量插入工作以将一些旧数据迁移到我们的新数据库 对于测试样本 我配置了批量大小 如下所示
  • 输入无效数据时使用react-bootstrap-typeahead清除inputText

    我正在尝试使用react bootstrap typeahead 验证选择 并在移动到页面的另一个区域时清除输入文本 如果无效 我想不出一个好方法来做到这一点 Typeahead 组件的 onBlur 不会在正确的时间触发以进行验证和清除
  • 如何解决 Google Play 商店中的“违反家庭政策要求”问题

    我针对 0 5 岁儿童的免费应用程序在上次更新中刚刚被 Google Play 拒绝 它还没有发布 我只是发布内部测试 问题如下 问题 违反家庭政策要求 我们检测到您的应用会收集个人信息 但您的 Play 管理中心并未披露这些信息 目标受众
  • 如果我在 jsr 303 中使用两个自定义注释,如果第一个注释失败,如何停止对第二个注释的验证?

    我在使用 jsr303 时遇到下一个问题 我已经用以下方式注释了字段 NotEmpty message Please specify your post code PostCode message Your post code is inc