Spring Validation:获取多个约束的单个(相关)验证消息

时间:2018-03-25 16:32:38

标签: java spring validation spring-boot

我在单个字段名称上应用了多个约束,例如:

@NotNull
@Min(value=3, message="Name should be atleast 3 chars long")
@Max(value=40, message="Name can not be longer than 40 chars")
@Pattern(regexp="[a-zA-Z]+", message="Name can only contain letters")
String name;

对于该字段的" af3" 的值,我收到以上所有4条消息。我想只显示适用的相关内容。即,在这种情况下,消息应为"名称只能包含字母"

1 个答案:

答案 0 :(得分:1)

@Max@Min仅用于数字,这就是您获取这些消息的原因。根据{{​​3}}(docs的类似文字):

  

带注释的元素必须是一个数字,其值必须小于或等于指定的最大值。

     

支持的类型是:

     

的BigDecimal      的BigInteger      byte,short,int,long和它们各自的包装器

类似地,

min(和max / min)可用于验证字符串长度 @Length(来自hibernate验证器)和max / min参数用于验证String的长度。