宁波网络建站公司,国家职业证书查询网入口,WordPress添加前台漂亮注册,做互联网营销一般上什么网站在观看本篇文章之前#xff0c;可以先参考我之前写的一篇文章 “ Spring5#xff0c;Service层对DTO文件进行数据格式校验. ” #xff0c;这篇文章是介绍在 Service层 对DTO文件的校验。 以下方的 CompanyDTO 文件为例#xff0c;讲解不同的注解使用场景#xff0c;以及… 在观看本篇文章之前可以先参考我之前写的一篇文章 “ Spring5Service层对DTO文件进行数据格式校验. ” 这篇文章是介绍在 Service层 对DTO文件的校验。 以下方的 CompanyDTO 文件为例讲解不同的注解使用场景以及适用于那些数据类型。 未完待续........ 1、需要引入的Maven依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.20/versionscopecompile/scope/dependencydependencygroupIdjavax.validation/groupIdartifactIdvalidation-api/artifactIdversion2.0.1.Final/version/dependencydependencygroupIdorg.hibernate.validator/groupIdartifactIdhibernate-validator/artifactIdversion6.2.5.Final/version/dependency 2、CompanyDTO 文件 package com.moon.learning.dto;import com.moon.learning.validation.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;import javax.validation.constraints.*;
import java.io.Serializable;/*** 用于校验的DTO文件.** author moon* version 1.0* date 2022/11/22 11:45*/
ApiModel(value 公司, description 参数)
Data
AllArgsConstructor
Builder
public class CompanyDTO implements Serializable {ApiModelProperty(value ID主键)NotNull(message ID主键不能为空, groups {ValidGroup.Update.class})private Long id;ApiModelProperty(value 公司名称)NotBlank(message 公司名称不能为空, groups {ValidGroup.Insert.class, ValidGroup.Update.class})Size(min 1, max 20, message 公司名称长度为 1-20 个字符, groups {ValidGroup.Insert.class, ValidGroup.Update.class})private String companyName;ApiModelProperty(value 公司编号)NotBlank(message 公司编号不能为空, groups {ValidGroup.Insert.class, ValidGroup.Update.class})Size(min 1, max 12, message 公司编号长度为 1-12 个字符, groups {ValidGroup.Insert.class, ValidGroup.Update.class})private String companyNo;/*** 在这里纳税人识别号可以是空字符串 或者 15位格式 或者 18位格式 或者 20位格式.*/ApiModelProperty(value 纳税人识别号)Pattern(regexp ^$|^([0-9a-zA-Z]{15}|[0-9a-zA-Z]{18}|[0-9a-zA-Z]{20})$, message 纳税人识别号格式不正确请重新处理, groups {ValidGroup.Insert.class, ValidGroup.Update.class})private String taxNumber;ApiModelProperty(value 电子邮箱)Email(message 邮箱格式不正确, groups {ValidGroup.Insert.class, ValidGroup.Update.class})Size(max 50, message 邮箱长度不能超过 50 个字符, groups {ValidGroup.Insert.class, ValidGroup.Update.class})private String email;/*** 在这里账户可以是11位手机号格式 或者 邮箱格式*/ApiModelProperty(value 账号)NotBlank(message 账号不能为空, groups {ValidGroup.Insert.class, ValidGroup.Update.class})Pattern(regexp ^(1[3-9]\\d{9}|[\\w-](\\.[\\w-])*[\\w-](\\.[\\w-]))$, message 账号格式不正确请重新处理, groups {ValidGroup.Insert.class, ValidGroup.Update.class})private String account;/*** 在这里数据来源可以是新建、更新、导入。 非常适用于 枚举值 类型的字段.*/ApiModelProperty(value 数据来源)NotBlank(message 数据来源不能为空, groups {ValidGroup.Insert.class, ValidGroup.Update.class})Pattern(regexp ^(新建|更新|导入)$, message 账号格式不正确请重新处理, groups {ValidGroup.Insert.class, ValidGroup.Update.class, ValidGroup.Import.class})private String dataSource;// ---------------- 非数据库表字段 ----------------// ---------------- 构造函数 ----------------/**** 无参构造函数** return* author moon 2023/7/25 15:01*/public CompanyDTO() {}
}