使用非constante参数的自定义约束

时间:2013-03-19 08:59:28

标签: hibernate java-ee bean-validation

我想创建一个新约束来验证输入,但它需要知道同一表单的其他输入的值。我看到使用@interface注释创建的自定义约束只接受常量表达式作为参数。 还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

您可以编写类级别约束,也可以使用上面提到的@ScriptAssert。在前者中,您将约束放在类级别上,并将整个实例传递给 isValid 。然后,您可以检查您喜欢的任何值并进行检查。

另一种方法是使用Hibernate Validator提供的@ScriptAssert(再次在类级别,以便整个实例绑定到脚本上下文中)。然后,您可以使用您选择的脚本语言编写支票,例如JavaScript。当然,脚本引擎必须在运行时环境中可用。

相关问题