feat: 优化验证规则定义
This commit is contained in:
173
validator.go
173
validator.go
@@ -71,12 +71,10 @@ type ValidatorRuleConfig struct {
|
||||
}
|
||||
|
||||
// ValidatorRuleSupportDataTypeTable 验证规则支持的数据类型表
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 16:13 2025/1/22
|
||||
var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
ValidatorRuleEqcsfield: {
|
||||
var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{}
|
||||
var ValidatorRuleSupportDataTypeList = []ValidatorRuleConfig{
|
||||
|
||||
{
|
||||
ValidatorRule: ValidatorRuleEqcsfield,
|
||||
Description: "跨结构体字段相等",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
@@ -84,7 +82,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleEqfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleEqfield,
|
||||
Description: "同结构体字段相等",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
@@ -92,7 +90,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleFieldcontains: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFieldcontains,
|
||||
Description: "检查指定的字段值是否存在于字段中",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
@@ -100,7 +98,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleFieldexcludes: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFieldexcludes,
|
||||
Description: "检查指定的字段值是否不存在于字段中",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
@@ -108,7 +106,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleGtcsfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleGtcsfield,
|
||||
Description: "大于(跨结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -116,7 +114,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleGtecsfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleGtecsfield,
|
||||
Description: "大于(同结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -124,7 +122,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleGtfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleGtfield,
|
||||
Description: "大于(同结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -132,7 +130,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleGtefield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleGtefield,
|
||||
Description: "大于(同结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -140,7 +138,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleLtcsfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleLtcsfield,
|
||||
Description: "小于(跨结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -148,7 +146,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleLtecsfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleLtecsfield,
|
||||
Description: "小于等于(跨结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -156,7 +154,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleLtfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleLtfield,
|
||||
Description: "小于(同结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -164,7 +162,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleLtefield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleLtefield,
|
||||
Description: "小于等于(同结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
@@ -172,7 +170,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleNecsfield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleNecsfield,
|
||||
Description: "不等于(跨结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
@@ -180,7 +178,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleNefield: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleNefield,
|
||||
Description: "不等于(同结构体)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
@@ -188,147 +186,155 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleEq: {
|
||||
ValidatorRule: ValidateRuleEq,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleEq,
|
||||
Description: "等于(严格校验)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleEqIgnoreCase: {
|
||||
ValidatorRule: ValidateRuleEqIgnoreCase,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleEqIgnoreCase,
|
||||
Description: "等于(忽略大小写)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleGt: {
|
||||
ValidatorRule: ValidateRuleGt,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleGt,
|
||||
Description: "大于",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleGte: {
|
||||
ValidatorRule: ValidateRuleGte,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleGte,
|
||||
Description: "大于等于",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleLt: {
|
||||
ValidatorRule: ValidateRuleLt,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleLt,
|
||||
Description: "小于",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleLte: {
|
||||
ValidatorRule: ValidateRuleLte,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleLte,
|
||||
Description: "小于等于",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleNe: {
|
||||
ValidatorRule: ValidateRuleNe,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleNe,
|
||||
Description: "不等于(严格判断)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidateRuleNeIgnoreCase: {
|
||||
ValidatorRule: ValidateRuleNeIgnoreCase,
|
||||
{
|
||||
ValidatorRule: ValidatorRuleNeIgnoreCase,
|
||||
Description: "不等于(忽略大小写)",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
ValidatorRuleCommonDir: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleRegexp,
|
||||
Description: "正则表达式",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 1,
|
||||
ParamCntMustEven: false,
|
||||
},
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonDir,
|
||||
Description: "文件夹存在",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonDirPath: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonDirPath,
|
||||
Description: "文件夹路径存在",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonFile: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonFile,
|
||||
Description: "文件存在",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonFilepath: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonFilepath,
|
||||
Description: "文件路径存在",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonImage: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonImage,
|
||||
Description: "是否图像资源",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonIsDefault: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonIsDefault,
|
||||
Description: "是否对应类型默认值",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonOmitempty: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonOmitempty,
|
||||
Description: "为空时不进行其他校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonLen: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonLen,
|
||||
Description: "数据长度",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal, DataTypeSlice, DataTypeMap), // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 1,
|
||||
},
|
||||
ValidatorRuleCommonMax: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonMax,
|
||||
Description: "最大值",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 1,
|
||||
},
|
||||
ValidatorRuleCommonMin: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonMin,
|
||||
Description: "最小值",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 1,
|
||||
},
|
||||
ValidatorRuleCommonOneOf: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonOneOf,
|
||||
Description: "枚举值",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonRequired: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequired,
|
||||
Description: "必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleCommonRequiredIf: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequiredIf,
|
||||
Description: "当指定字段等于给定值时, 必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
@@ -336,7 +342,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: true,
|
||||
},
|
||||
ValidatorRuleCommonRequiredUnless: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequiredUnless,
|
||||
Description: "当指定字段不等于给定值时, 必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
@@ -344,40 +350,40 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: true,
|
||||
},
|
||||
ValidatorRuleCommonRequiredWith: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequiredWith,
|
||||
Description: "当任意一个指定字段不为零值时, 必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonRequiredWithAll: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequiredWithAll,
|
||||
Description: "当全部指定字段不为零值时, 必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonRequiredWithout: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequiredWithout,
|
||||
Description: "当任意一个字段不存在时, 必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonRequiredWithoutAll: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonRequiredWithoutAll,
|
||||
Description: "当全部字段不存在时, 必传校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonExcludedIf: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonExcludedIf,
|
||||
Description: "当指定字段等于给定值时,排除校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
},
|
||||
ValidatorRuleCommonExcludedUnless: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonExcludedUnless,
|
||||
Description: "当指定字段等于给定值时,排除校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
@@ -385,7 +391,7 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: true,
|
||||
},
|
||||
ValidatorRuleCommonExcludedWith: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonExcludedWith,
|
||||
Description: "当全部指定字段不为零值时,排除校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
@@ -393,94 +399,94 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
MaxParamCnt: 0,
|
||||
ParamCntMustEven: true,
|
||||
},
|
||||
ValidatorRuleCommonExcludedWithAll: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonExcludedWithAll,
|
||||
Description: "当全部指定字段不为零值时,排除校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonExcludedWithout: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonExcludedWithout,
|
||||
Description: "当任意一个指定字段不存在时,排除校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonExcludedWithoutAll: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonExcludedWithoutAll,
|
||||
Description: "当全部指定字段不存在时,排除校验",
|
||||
SupportDataTypeList: nil, // 所有类型均支持
|
||||
MinParamCnt: 1,
|
||||
MaxParamCnt: 0,
|
||||
},
|
||||
ValidatorRuleCommonUnique: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleCommonUnique,
|
||||
Description: "是否唯一, 用于切片验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeSlice), // 所有类型均支持
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterCron: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterCron,
|
||||
Description: "cron表达式验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterEmail: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterEmail,
|
||||
Description: "邮箱地址验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterJson: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterJson,
|
||||
Description: "json格式验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterJwt: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterJson,
|
||||
Description: "JWT(JSON Web Token)验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterLatitude: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterLatitude,
|
||||
Description: "纬度验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterLongitude: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterLongitude,
|
||||
Description: "经度验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterTimezone: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterLongitude,
|
||||
Description: "时区验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterUrl: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterUrl,
|
||||
Description: "url验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterUri: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterUrl,
|
||||
Description: "uri验证",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterLowercase: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterLowercase,
|
||||
Description: "仅包含小写字符",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
WithoutParam: true,
|
||||
},
|
||||
ValidatorRuleFormatterUppercase: {
|
||||
{
|
||||
ValidatorRule: ValidatorRuleFormatterUppercase,
|
||||
Description: "仅包含大写字符",
|
||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||
@@ -488,6 +494,12 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
for _, item := range ValidatorRuleSupportDataTypeList {
|
||||
ValidatorRuleSupportDataTypeTable[item.ValidatorRule] = item
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
// ValidatorRuleEqcsfield .....Fields ..............
|
||||
ValidatorRuleEqcsfield ValidatorRule = "eqcsfield" // 跨结构体字段相等 eqcsfield={{struct.field}}
|
||||
@@ -505,15 +517,16 @@ var (
|
||||
ValidatorRuleNecsfield ValidatorRule = "necsfield" // 不等于(跨结构体) necsfield={{struct.field}}
|
||||
ValidatorRuleNefield ValidatorRule = "nefield" // 不等于(同结构体) nefield={{struct.field}}
|
||||
|
||||
// ValidateRuleEq Comparisons ....................
|
||||
ValidateRuleEq ValidatorRule = "eq" // 相等(严格判断) eq={{any_value}}
|
||||
ValidateRuleEqIgnoreCase ValidatorRule = "eq_ignore_case" // 相等(忽略大小写) eq_ignore_case={{any_value}}
|
||||
ValidateRuleGt ValidatorRule = "gt" // 大于 gt={{number_value}}
|
||||
ValidateRuleGte ValidatorRule = "gte" // 大于等于 gte={{number_value}}
|
||||
ValidateRuleLt ValidatorRule = "lt" // 小于 lt={{number_value}}
|
||||
ValidateRuleLte ValidatorRule = "lte" // 小于等于 lte={{number_value}}
|
||||
ValidateRuleNe ValidatorRule = "ne" // 不相等(严格判断) ne={{any_value}}
|
||||
ValidateRuleNeIgnoreCase ValidatorRule = "ne_ignore_case" // 不相等(忽略大小写) ne_ignore_case={{any_value}}
|
||||
// ValidatorRuleEq Comparisons ....................
|
||||
ValidatorRuleEq ValidatorRule = "eq" // 相等(严格判断) eq={{any_value}}
|
||||
ValidatorRuleEqIgnoreCase ValidatorRule = "eq_ignore_case" // 相等(忽略大小写) eq_ignore_case={{any_value}}
|
||||
ValidatorRuleGt ValidatorRule = "gt" // 大于 gt={{number_value}}
|
||||
ValidatorRuleGte ValidatorRule = "gte" // 大于等于 gte={{number_value}}
|
||||
ValidatorRuleLt ValidatorRule = "lt" // 小于 lt={{number_value}}
|
||||
ValidatorRuleLte ValidatorRule = "lte" // 小于等于 lte={{number_value}}
|
||||
ValidatorRuleNe ValidatorRule = "ne" // 不相等(严格判断) ne={{any_value}}
|
||||
ValidatorRuleNeIgnoreCase ValidatorRule = "ne_ignore_case" // 不相等(忽略大小写) ne_ignore_case={{any_value}}
|
||||
ValidatorRuleRegexp ValidatorRule = "regexp" // 正则表达式
|
||||
|
||||
// ValidatorRuleCommonDir ............others
|
||||
ValidatorRuleCommonDir ValidatorRule = "dir" // 文件夹存在
|
||||
|
||||
Reference in New Issue
Block a user