Hibernate 休眠验证消息(SP)eL以允许多参数匹配

Hibernate 休眠验证消息(SP)eL以允许多参数匹配,hibernate,validation,parameters,expression,message,Hibernate,Validation,Parameters,Expression,Message,我似乎无法为我的问题找到一个通用的解决方案。我使用的是标准的Hibernate验证器,比如: @Length(max=10,message=“{entity.property}”) 我有一个国际化的资源包,其条目如下: entity.property=值不能大于{0}个字符 我在消息值中使用一组有序的参数,以适应服务器端和客户端参数列表的提供,例如: messageSource.getMessage(“entity.property”,新字符串[]{“10”}) #messages.msg('e

我似乎无法为我的问题找到一个通用的解决方案。我使用的是标准的Hibernate验证器,比如:

@Length(max=10,message=“{entity.property}”)

我有一个国际化的资源包,其条目如下:

entity.property=值不能大于{0}个字符

我在消息值中使用一组有序的参数,以适应服务器端和客户端参数列表的提供,例如:

messageSource.getMessage(“entity.property”,新字符串[]{“10”})
#messages.msg('entity.property',10)

现在,我可以使用数字引用为Hibernate验证器填充
{0}
表达式,但列表中的第一个参数始终是属性的名称,即对于Hibernate验证,使用
{0}
将解析为
属性
。正确的引用应该是
{1}

总而言之,这不是一个像样的通用解决方案。无需编写自己的自定义MessageInterpolator、拦截
resolvedMessage
或使用自定义验证器,有什么简单的解决方案可以确保我可以依赖资源值来解释正确的参数,例如使用(SP)eL表达式

我想在消息值中使用类似于
{0 | | max}
的内容,但似乎找不到这样做的方法