Validation 分组校验(个人记录)

同一个接口因针对表单的某一个值从而需要校验不同的字段,所以使用了

javax.validation包中的 Validation来进行校验

第一步:先定义分组类

     xxxClassGroup{

        interface student{};//学生类型

        interface teacher{};//老师类型

        interface principal{};//校长类型

}

第二步:在传递进来的实体上加上注解

@NotBlank(message = "xxx不能为空",groups = {xxxClassGroup.student.class,xxxClassGroup.teacher.class,xxxClassGroup.principal.class})
private String xxx;//该字段在三个分组下都有使用

第三步:在controller层进行验证

 1.创建验证构造器

Validator validator = Validation.buildDefaultValidatorFactory().getValidator();

2.根据传递进来的对象某字段的值与枚举值进行判断可写多个if

if(xxxxxDto.getxxx()==xxxEnum.xxx.getValue()){

Set<ConstraintViolation<Object>> set=validator.validate(xxxDto,xxxClassGroup.class)
  //TODO在对set集合进行遍历取出里面的message信息,则实现了对同字段不同的值分组验证
}

if(xxxxxDto.getxxx()==xxxEnum.xxx.getValue()){

Set<ConstraintViolation<Object>> set=validator.validate(xxxDto,xxxClassGroup.class)
  //TODO在对set集合进行遍历取出里面的message信息,则实现了对同字段不同的值分组验证
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值