Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想创建一个新约束来验证输入,但它需要知道相同形式的其他输入的值。我看到使用 @interface 注释创建的自定义约束只接受常量表达式作为参数。还有其他方法吗?
您可以编写类级别约束,也可以使用提到的@ScriptAssert。在前者中,您将约束置于类级别,并将整个实例传递给isValid。然后,您可以检查您喜欢的任何值并进行检查。
另一种方法是使用 @ScriptAssert 提供的 Hibernate Validator(再次在类级别,以便整个实例绑定到脚本上下文中)。然后,您可以使用您选择的脚本语言(例如 JavaScript)编写检查。当然,脚本引擎必须在您的运行时环境中可用。