首页 > 解决方案 > 如何处理无效的约束声明?

问题描述

我有一个自定义约束注释,用于检查给定字符串是否可以转换为枚举。

public @interface ValidEnumValue {
    // other attributes elided for brevity
    String toEnumMethod() default "valueOf";
}

约束验证器检查是否toEnumMethod存在;例如,用户可以将其设置为whatever,这是无效的。如果没有找到,它会抛出一个IllegalArgumentException. 问题是,IllegalArgumentException被包装成 a ValidationException,这是模棱两可的。这是约束声明的问题,而不是验证枚举参数的运行时错误。

我在Hibernate Validator 文档中找不到任何关于此的内容。我确实ConstraintDeclarationException在 BV 源代码中找到了。

处理无效约束声明的“推荐”方式是什么?使用 Jakarta Bean 验证 2。

标签: javabean-validationhibernate-validator

解决方案


推荐阅读