Hibernate验证@模式

Hibernate验证@模式,hibernate,validation,jsf,richfaces,Hibernate,Validation,Jsf,Richfaces,我在jsf托管bean中使用org.hibernate.validator.Pattern注释来验证组件 我的问题是,有没有一种方法可以通过硬编码从方法或EL获得正则表达式。 例如 @Pattern(regex = getRexEx()) 或 我在谷歌上搜索发现正则表达式应该是一个常数。但是,可以有另一种方法来实现这一点。注释的参数需要是编译时常量,因此不可能将运行时表达式指定为@Pattern的参数。也不可能将EL表达式作为参数传递并让它做任何事情,因为模式验证器不是这样编写的 然而,您可以

我在jsf托管bean中使用org.hibernate.validator.Pattern注释来验证组件

我的问题是,有没有一种方法可以通过硬编码从方法或EL获得正则表达式。 例如

@Pattern(regex = getRexEx())


我在谷歌上搜索发现正则表达式应该是一个常数。但是,可以有另一种方法来实现这一点。

注释的参数需要是编译时常量,因此不可能将运行时表达式指定为@Pattern的参数。也不可能将EL表达式作为参数传递并让它做任何事情,因为模式验证器不是这样编写的


然而,您可以做的是定义一个自己的验证器类,该类采用EL表达式的形式,并根据它验证bean属性。不过,祝您在上下文管理方面好运!这不是一项简单的任务。

注释的参数需要是编译时常量,因此不可能将运行时表达式指定为@Pattern的参数。也不可能将EL表达式作为参数传递并让它做任何事情,因为模式验证器不是这样编写的


然而,您可以做的是定义一个自己的验证器类,该类采用EL表达式的形式,并根据它验证bean属性。不过,祝您在上下文管理方面好运!这不是一项简单的任务。

为什么需要它?您想在运行时更改它吗?我同意下面的答案。当然,我也认为下面的答案是正确的、合乎逻辑的和描述性的。但我仍在等待找到是否有其他方法。另请参见在运行时定义约束。为什么需要此方法?是否要在运行时更改此方法?我同意下面的答案。当然,我也认为下面的答案是正确的、合乎逻辑的和描述性的。但我仍在等待找到是否有其他方法。另请参阅,以了解如何在运行时定义约束。感谢您宝贵的回答。看来你的建议是唯一的解决办法。但你知道我不会测试它谢谢你宝贵的回答。看来你的建议是唯一的解决办法。但你知道我不会测试它
@Pattern(regex = getRexEx())
@Pattern(regex = "#{bean.regEx}")