监控视频做直播网站,中国建筑人才网下载,国内免费的ip地址,设计上海2023展会时间分组校验 在不同情况下#xff0c;可能对JavaBean对象的数据校验规则有所不同#xff0c;有时需要根据数据状态对JavaBean中的某些属性字段进行单独验证。这时就可以使用分组校验功能#xff0c;即根据状态启用一组约束。
Hibernate Validator的注解提供了groups参数#…分组校验 在不同情况下可能对JavaBean对象的数据校验规则有所不同有时需要根据数据状态对JavaBean中的某些属性字段进行单独验证。这时就可以使用分组校验功能即根据状态启用一组约束。
Hibernate Validator的注解提供了groups参数用于指定分组如果没有指定groups参数则默认属于javax.validation.groups.Default分组。下面通过示例演示分组校验。 首先创建分组GroupA和GroupB示例代码如下 pubic interface GroupA{ } public interface GroupB{ } 在上面的示例中我们定义了GroupA和GroupB两个接口作为两个校验规则的分组。 然后创建实体类User并在相关的字段中定义校验分组规则示例代码如下 public class User{ NotBlank(messageuserId不能为空,groups{GroupA.class}) /**用户id**/ private Integer userId; NotBlank(message用户名不能为空,groups{GrouA.class}) /*用户名*/ private String name; Length(min30,max40,message必须在[30,40],groups{GroupB.class}) Length(min20,max30,message必须在[20,30])groups{GroupA.class}; /*年龄*/ private int age; } 在上面的示例中age字段定义了GroupA和GroupB两个分组校验规则。GroupA的校验规则为年龄在20-30GroupB的校验规则为年龄在30-40. 最后使用校验分组 RequestMapping(/save) public String save(Request Validated({GroupA.class,Default.class}) Person person,BindingResult result){ System.out.println(JSON.toJSONString(result.getAllErrors())); return success; } 在上面的示例中在Validated注解中增加了{GroupA.class,Default.class}参数表示对于定义了分组校验的字段使用GroupA校验规则其他字段使用默认规则。