我有类似
的课程class Sample{
@Min(1) @Max(20) private int num_seats;
...
}
和messages.properties
喜欢
Min.sample.num_seats = the number must be bigger than 1
问题是
答案 0 :(得分:3)
谢谢Ralph,它帮助我找到了很多解决方案。 我想补充一点:
在这种情况下我会使用@Range(除非你想要最小和最大两个不同的消息)。
在Sample class
中@Range(min = 1, max = 20)
private int num_seats;
在messages.properties文件中
Range.sample.num_seats=The number must be between {2} and {1}.
请注意,min是参数编号为{2},max编号为{1}!
答案 1 :(得分:1)
根据SPR-6730(Juergen Hoellers评论),它应该以这种方式运作:
@Min(value="1", message="the number must be higher than {1}")
我没有测试过,但这就是方法,我已经理解了问题评论。
第二个问题:您可以共享文本,将它们放在消息属性文件中。 如果使用与默认密钥相同的密钥,则覆盖默认消息。如果您不想覆盖默认消息,则需要另一个密钥,并且需要在消息属性的currly括号中写入密钥。
消息属性文件
javax.validation.constraints.Min.message=My mew default message
someOtherKey=Some Other Message
使用另一把钥匙:
@Min(value="1", message="{someOtherKey}")