packagetacos;importjava.util.List;importjavax.validation.constraints.NotNull;importjavax.validation.constraints.Size;importlombok.Data;@DatapublicclassTaco{@NotNull@Size(min=5,message="Name must be at least 5 characters long")privateString name;@Size(min=1,message="You must choose at least 1 ingredient")privateList<String> ingredients;}
你会发现,除了要求 name 属性不为 null,同时你声明它应该有一个值是至少 5 个字符的长度。
当涉及到对提交玉米饼订单进行验证声明时,必须对 Order 类应用注解。对于地址的属性,只需要确保用户没有留下任何空白字段。对于这一点,将使用 Hibernate Validator 的 @NotBlank 注解。
支付领域的验证是一个比较奇特的存在。你不仅需要确保 ccNumber 属性不为空,还要确保它包含的是一个有效的信用卡号码的值。该 ccExpiration 属性必须符合 MM/YY(两位数的年/月)格式。而 ccCVV 属性必须是一个三位的数字。为了实现这种验证,需要使用一些其他的 Java Bean Validation API 注释,同时需要从 Hibernate Validator 集合中借用一些验证注解。下面程序清单列出了验证 Order 类所需要的改变。