如何访问JSR-303消息中的字段值?

问题描述 投票:1回答:1

我想通过以下方式自定义错误消息:

假定以下类的人声明:

@Size(min=10, max=200, message="{name.size}")  
private String name;

在ValidationMessages.properties中声明的错误消息中,我也想输出该字段值,即,我想做这样的事情:

name.size=The name '{name}' is invalid, its size must be between {min} and {max}

假定字段“名称”的内容为“ abc”。然后错误消息应如下所示:

名称'abc'无效,其大小必须在10到200之间

最小和最大的替换有效,但是如何对字段值执行此操作?

spring field bean-validation substitution
1个回答
5
投票

对于BeanValidation 1.0,我认为有一种使用消息插值器获取值的方法。我相信通过bean验证1.0的休眠实现,它可以作为其捆绑包的一部分使用。

有了BeanValidation 1.1,它可以通过EL表达式使用。现在可以通过名称validatedValue访问该字段值。如果可以尝试使用最新版本。您的消息如下所示:

name.size=The name '${validatedValue}' is invalid, its size must be between {min} and {max}
© www.soinside.com 2019 - 2024. All rights reserved.