refactor: 完善前后端校验

This commit is contained in:
2023-09-18 22:21:25 +08:00
parent 3fd0c08b80
commit 90d825a02f
23 changed files with 117 additions and 60 deletions

View File

@@ -45,7 +45,7 @@ public class AnnouncementRequest extends BaseRequest {
*/
@Schema(description = "标题", example = "这是公告标题")
@NotBlank(message = "标题不能为空")
@Length(max = 255, message = "标题长度不能超过 {max} 个字符")
@Length(max = 150, message = "标题长度不能超过 {max} 个字符")
private String title;
/**
@@ -60,6 +60,7 @@ public class AnnouncementRequest extends BaseRequest {
*/
@Schema(description = "类型(取值于字典 announcement_type", example = "1")
@NotBlank(message = "类型不能为空")
@Length(max = 30, message = "类型长度不能超过 {max} 个字符")
private String type;
/**

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.system.model.request;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@@ -55,14 +56,14 @@ public class DeptRequest extends BaseRequest {
*/
@Schema(description = "部门名称", example = "测试部")
@NotBlank(message = "部门名称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "部门名称长度为 120 位,可以包含中文、字母、数字、下划线,短横线")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "部门名称长度为 230 位,可以包含中文、字母、数字、下划线,短横线")
private String name;
/**
* 部门排序
*/
@Schema(description = "部门排序", example = "1")
@NotNull(message = "部门排序不能为空")
@Min(value = 1, message = "部门排序最小值为 {value}")
private Integer sort;
/**

View File

@@ -43,6 +43,7 @@ public class DictItemRequest extends BaseRequest {
*/
@Schema(description = "字典标签", example = "通知")
@NotBlank(message = "字典标签不能为空")
@Length(max = 30, message = "字典标签长度不能超过 {max} 个字符")
private String label;
/**
@@ -50,18 +51,21 @@ public class DictItemRequest extends BaseRequest {
*/
@Schema(description = "字典值", example = "1")
@NotBlank(message = "字典值不能为空")
@Length(max = 30, message = "字典值长度不能超过 {max} 个字符")
private String value;
/**
* 背景颜色
*/
@Schema(description = "背景颜色", example = "blue")
@Length(max = 30, message = "背景颜色长度不能超过 {max} 个字符")
private String color;
/**
* 排序
*/
@Schema(description = "排序", example = "1")
@Min(value = 1, message = "排序最小值为 {value}")
private Integer sort;
/**

View File

@@ -25,6 +25,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.base.BaseRequest;
import top.charles7c.cnadmin.common.constant.RegexConsts;
/**
* 创建或修改字典信息
@@ -43,6 +44,7 @@ public class DictRequest extends BaseRequest {
*/
@Schema(description = "字典名称", example = "公告类型")
@NotBlank(message = "字典名称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "字典名称长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线")
private String name;
/**
@@ -50,6 +52,7 @@ public class DictRequest extends BaseRequest {
*/
@Schema(description = "字典编码", example = "announcement_type")
@NotBlank(message = "字典编码不能为空")
@Pattern(regexp = RegexConsts.GENERAL_CODE, message = "字典编码长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头")
private String code;
/**

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.system.model.request;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@@ -24,6 +25,8 @@ import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length;
import top.charles7c.cnadmin.common.base.BaseRequest;
import top.charles7c.cnadmin.common.constant.RegexConsts;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
@@ -52,6 +55,7 @@ public class MenuRequest extends BaseRequest {
* 菜单图标
*/
@Schema(description = "菜单图标", example = "user")
@Length(max = 50, message = "菜单图标长度不能超过 {max} 个字符")
private String icon;
/**
@@ -59,7 +63,7 @@ public class MenuRequest extends BaseRequest {
*/
@Schema(description = "菜单标题", example = "用户管理")
@NotBlank(message = "菜单标题不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "菜单标题长度为 120 位,可以包含中文、字母、数字、下划线,短横线")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "菜单标题长度为 230 位,可以包含中文、字母、数字、下划线,短横线")
private String title;
/**
@@ -67,30 +71,35 @@ public class MenuRequest extends BaseRequest {
*/
@Schema(description = "菜单排序", example = "1")
@NotNull(message = "菜单排序不能为空")
@Min(value = 1, message = "菜单排序最小值为 {value}")
private Integer sort;
/**
* 权限标识
*/
@Schema(description = "权限标识", example = "system:user:list")
@Length(max = 100, message = "权限标识长度不能超过 {max} 个字符")
private String permission;
/**
* 路由地址
*/
@Schema(description = "路由地址", example = "/system/user")
@Length(max = 255, message = "路由地址长度不能超过 {max} 个字符")
private String path;
/**
* 组件名称
*/
@Schema(description = "组件名称", example = "User")
@Length(max = 50, message = "组件名称长度不能超过 {max} 个字符")
private String name;
/**
* 组件路径
*/
@Schema(description = "组件路径", example = "/system/user/index")
@Length(max = 255, message = "组件路径长度不能超过 {max} 个字符")
private String component;
/**

View File

@@ -19,8 +19,8 @@ package top.charles7c.cnadmin.system.model.request;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import lombok.Data;
@@ -51,7 +51,7 @@ public class RoleRequest extends BaseRequest {
*/
@Schema(description = "角色名称", example = "测试人员")
@NotBlank(message = "角色名称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "角色名称长度为 120 位,可以包含中文、字母、数字、下划线,短横线")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "角色名称长度为 230 位,可以包含中文、字母、数字、下划线,短横线")
private String name;
/**
@@ -59,14 +59,14 @@ public class RoleRequest extends BaseRequest {
*/
@Schema(description = "角色编码", example = "test")
@NotBlank(message = "角色编码不能为空")
@Pattern(regexp = RegexConsts.GENERAL_CODE, message = "角色编码长度为 2 到 16 位,可以包含字母、数字,下划线,以字母开头")
@Pattern(regexp = RegexConsts.GENERAL_CODE, message = "角色编码长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头")
private String code;
/**
* 角色排序
*/
@Schema(description = "角色排序", example = "1")
@NotNull(message = "角色排序不能为空")
@Min(value = 1, message = "角色排序最小值为 {value}")
private Integer sort;
/**

View File

@@ -46,7 +46,7 @@ public class UpdateBasicInfoRequest implements Serializable {
*/
@Schema(description = "昵称", example = "张三")
@NotBlank(message = "昵称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "昵称长度为 120 位,可以包含中文、字母、数字、下划线,短横线")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "昵称长度为 230 位,可以包含中文、字母、数字、下划线,短横线")
private String nickname;
/**

View File

@@ -51,7 +51,7 @@ public class UserRequest extends BaseRequest {
*/
@Schema(description = "用户名", example = "zhangsan")
@NotBlank(message = "用户名不能为空")
@Pattern(regexp = RegexConsts.USERNAME, message = "用户名长度为 4 到 16 位,可以包含字母、数字,下划线,以字母开头")
@Pattern(regexp = RegexConsts.USERNAME, message = "用户名长度为 4 到 64 位,可以包含字母、数字,下划线,以字母开头")
private String username;
/**
@@ -59,7 +59,7 @@ public class UserRequest extends BaseRequest {
*/
@Schema(description = "昵称", example = "张三")
@NotBlank(message = "昵称不能为空")
@Pattern(regexp = RegexConsts.GENERAL_NAME, message = "昵称长度为 120 位,可以包含中文、字母、数字、下划线,短横线")
@Pattern(regexp = "^[\\u4e00-\\u9fa5a-zA-Z0-9_-]{4,30}$", message = "昵称长度为 430 位,可以包含中文、字母、数字、下划线,短横线")
private String nickname;
/**
@@ -67,6 +67,7 @@ public class UserRequest extends BaseRequest {
*/
@Schema(description = "邮箱", example = "123456789@qq.com")
@Pattern(regexp = RegexConsts.EMAIL, message = "邮箱格式错误")
@Length(max = 255, message = "邮箱长度不能超过 {max} 个字符")
private String email;
/**