如何使用 java spring 验证来验证字符串长度?

F_S*_*idt 32 java string validation spring spring-validator

我在模型类中声明了这个字段:

@Size(min = 2, max = 200, message = "{validation.name.size}")
private String name;
Run Code Online (Sandbox Code Playgroud)

其中validation.name.size是本地化消息的路径。问题是我不想输出诸如“名称太长或太短”之类的消息。

有没有办法使用两个不同的消息并检查最小和最大字符串长度?@Min并且@Max仅适用于数字类型,因此不能使用它们。字符串的替代品是什么?

小智 48

您可以只使用“@Size”注释两次:

@Size(min = 2, message = "{validation.name.size.too_short}")
@Size(max = 200, message = "{validation.name.size.too_long}")
private String name;
Run Code Online (Sandbox Code Playgroud)


Gab*_*abe 6

是的,您可以将 @Size.List() 和 @Size 注释结合使用,如下所示:

@Size.List({
     @Size(min = 2, message = "{validation.name.size.too_short}"),
     @Size(max = 10, message = "{validation.name.size.too_long}")
})
Run Code Online (Sandbox Code Playgroud)