SrpingBoot中使用@Size验证List数量没有效果

说明

在《Spring In Action 5th》中使用了@Size进行验证,但实际发现并没有起到效果。

@Size(min = 2, message = "You must choose at least 1 ingredient")
private List<String> ingredients;


在页面中,不选择任何材料也能通过,@Size验证没有起到想要的效果。

原因

当不选择任何材料时,ingredients=null,@Size min并不进行null的验证。所有需要和@NotNull组合使用

@NotNull
@Size(min = 2, message = "You must choose at least 2 ingredient")
private List<String> ingredients;


这样就能保证至少有两项了。

 

展开阅读全文