【问题标题】:What is the closest equivalent in JSR 303 for @ScriptAssert?@ScriptAssert 在 JSR 303 中最接近的等价物是什么?
【发布时间】:2014-05-26 05:07:38
【问题描述】:
Hibernate 验证器中有一个出色的@ScriptAssert,它使跨字段验证变得非常容易。
在 Java EE 中,JSR-303 几乎从 Hibernate 验证器中借用了所有东西,但它似乎还没有借用 @ScriptAssert(目前)。
在 JSR 303 中,@ScriptAssert 最接近的等价物是什么?
【问题讨论】:
标签:
jakarta-ee
bean-validation
hibernate-validator
【解决方案1】:
Bean Validation 规范本身没有定义等效的约束。如果您出于可移植性原因不想依赖@ScriptAssert,最好的选择是创建您自己的基于脚本的自定义约束。
【解决方案2】:
如果您使用的是 Spring Framework,那么您可以使用基于 Spring 表达式语言 (SpEL) 的验证器,而不是 @ScriptValidator — validator-spring。这是一个仅依赖于validation-api 和spring-expression 的小型库。