首页 > 其他 > 详细

分组校验

时间:2020-12-24 17:13:52      阅读:34      评论:0      收藏:0      [点我收藏+]

当参数从前端传到controller时,进行分组校验

自定义校验

@Getter
@Setter
public class LithiumElectricProductInsertOrUpdateDto {
      //分组
      public interface update extends Default{}

    @NotNull(message = "id不能为空", groups={update.class})
    private String id; // ID
    /**
     * 成品货号
     */
    @Length(min = 1,max = 20,message = "成品货号长度介于1到20")
    private String productNo;
    /**
     * 电池包货号
     */
    @Length(min = 1,max = 20,message = "电池包货号长度介于1到20")
    private String liEProductNo;
    /**
     * 海运运输鉴定报告编号
     */
    @Length(min = 1,max = 100,message = "海运运输鉴定报告编号长度介于1到100")
    private String transporReportNumber;
    
    /**
     * 版本号
     */
    @NotNull(message = "版本号不能为空", groups={update.class})
    private Integer versionNo; // 数据版本号[默认为1]

}

分组校验因为情况不同时需要校验的字段不同,比如添加和修改时
id和版本号是修改才需要的字段

/**
	 * 添加
	 * @param dto
	 * @return
	 */
	@PostMapping
	public ResultDto<Integer> insert(@Validated @RequestBody LithiumElectricProductInsertOrUpdateDto dto){
		return ResultUtil.success(service.insert(dto));
	}

         /**
	 * 修改
	 * @param dto
	 * @return
	 */
	@PutMapping
	public ResultDto<Integer> update(
			@RequestBody @Validated(value = Modify.class)  LithiumElectricProductInsertOrUpdateDto dto){
		return ResultUtil.success(service.update(dto));
	}

分组校验

原文:https://www.cnblogs.com/wangmengmengm/p/14183372.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!