完善validator枚举值验证
This commit is contained in:
parent
bd95270130
commit
33c60bcd2d
61
data_type.go
61
data_type.go
@ -197,12 +197,61 @@ func getDataTypeDesc(value DataType, description string) DataTypeDesc {
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// DataTypeBaseNumber 基础的int类型
|
// DataTypeBaseNumber 基础的int类型
|
||||||
DataTypeBaseNumber = []DataType{DataTypeInt, DataTypeUint, DataTypeFloat, DataTypeIntPtr, DataTypeUintPtr, DataTypeFloatPtr}
|
DataTypeBaseNumber = []DataType{DataTypeInt, DataTypeUint, DataTypeFloat, DataTypeIntPtr, DataTypeUintPtr, DataTypeFloatPtr}
|
||||||
DataTypeBaseInt = []DataType{DataTypeInt, DataTypeIntPtr}
|
DataTypeBaseInt = []DataType{DataTypeInt, DataTypeIntPtr}
|
||||||
DataTypeBaseUint = []DataType{DataTypeUint, DataTypeUintPtr}
|
DataTypeBaseUint = []DataType{DataTypeUint, DataTypeUintPtr}
|
||||||
DataTypeBaseFloat = []DataType{DataTypeFloat, DataTypeFloatPtr}
|
DataTypeBaseFloat = []DataType{DataTypeFloat, DataTypeFloatPtr}
|
||||||
DataTypeBaseString = []DataType{DataTypeString, DataTypeStringPtr}
|
DataTypeBaseString = []DataType{DataTypeString, DataTypeStringPtr}
|
||||||
DataTypeBaseBool = []DataType{DataTypeBool, DataTypeBoolPtr}
|
DataTypeBaseBool = []DataType{DataTypeBool, DataTypeBoolPtr}
|
||||||
|
DataTypeSliceMarshal = []DataType{
|
||||||
|
DataTypeSliceAnyWithMarshal,
|
||||||
|
DataTypeSliceIntWithMarshal,
|
||||||
|
DataTypeSliceUintWithMarshal,
|
||||||
|
DataTypeSliceFloatWithMarshal,
|
||||||
|
DataTypeSliceBoolWithMarshal,
|
||||||
|
DataTypeSliceMapAnyAnyWithMarshal,
|
||||||
|
DataTypeSliceMapStringAnyWithMarshal,
|
||||||
|
DataTypeSliceAnyWithMarshal,
|
||||||
|
DataTypeSliceSliceWithMarshal,
|
||||||
|
}
|
||||||
|
DataTypeSliceSplit = []DataType{
|
||||||
|
DataTypeSliceIntWithChar,
|
||||||
|
DataTypeSliceUintWithChar,
|
||||||
|
DataTypeSliceFloatWithChar,
|
||||||
|
DataTypeSliceBoolWithChar,
|
||||||
|
DataTypeSliceStringWithChar,
|
||||||
|
}
|
||||||
|
DataTypeSlice = []DataType{
|
||||||
|
DataTypeSliceString,
|
||||||
|
DataTypeSliceAny,
|
||||||
|
DataTypeSliceBool,
|
||||||
|
DataTypeSliceMapStringAny,
|
||||||
|
DataTypeSliceInt,
|
||||||
|
DataTypeSliceUint,
|
||||||
|
DataTypeSliceFloat,
|
||||||
|
DataTypeSliceMapAnyAny,
|
||||||
|
DataTypeSliceSlice,
|
||||||
|
}
|
||||||
|
DataTypeMap = []DataType{
|
||||||
|
DataTypeMapStrAny,
|
||||||
|
DataTypeMapAnyAny,
|
||||||
|
DataTypeMapStrBool,
|
||||||
|
DataTypeMapStrInt,
|
||||||
|
DataTypeMapStrFloat,
|
||||||
|
DataTypeMapStrUint,
|
||||||
|
DataTypeMapStrSlice,
|
||||||
|
DataTypeMapStrStr,
|
||||||
|
}
|
||||||
|
DataTypeMapMarshal = []DataType{
|
||||||
|
DataTypeMapStrAnyWithMarshal,
|
||||||
|
DataTypeMapAnyAnyWithMarshal,
|
||||||
|
DataTypeMapStrBoolWithMarshal,
|
||||||
|
DataTypeMapStrIntWithMarshal,
|
||||||
|
DataTypeMapStrFloatWithMarshal,
|
||||||
|
DataTypeMapStrUintWithMarshal,
|
||||||
|
DataTypeMapStrSliceWithMarshal,
|
||||||
|
DataTypeMapStrStrWithMarshal,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func getMergeDataTypeList(dataTypeList ...[]DataType) []DataType {
|
func getMergeDataTypeList(dataTypeList ...[]DataType) []DataType {
|
||||||
|
275
validator.go
275
validator.go
@ -62,22 +62,22 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
|||||||
ValidatorRuleEqcsfield: {
|
ValidatorRuleEqcsfield: {
|
||||||
ValidatorRule: ValidatorRuleEqcsfield,
|
ValidatorRule: ValidatorRuleEqcsfield,
|
||||||
Description: "跨结构体字段相等",
|
Description: "跨结构体字段相等",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidatorRuleEqfield: {
|
ValidatorRuleEqfield: {
|
||||||
ValidatorRule: ValidatorRuleEqfield,
|
ValidatorRule: ValidatorRuleEqfield,
|
||||||
Description: "同结构体字段相等",
|
Description: "同结构体字段相等",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidatorRuleFieldcontains: {
|
ValidatorRuleFieldcontains: {
|
||||||
ValidatorRule: ValidatorRuleFieldcontains,
|
ValidatorRule: ValidatorRuleFieldcontains,
|
||||||
Description: "检查指定的字段值是否存在于字段中",
|
Description: "检查指定的字段值是否存在于字段中",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidatorRuleFieldexcludes: {
|
ValidatorRuleFieldexcludes: {
|
||||||
ValidatorRule: ValidatorRuleFieldexcludes,
|
ValidatorRule: ValidatorRuleFieldexcludes,
|
||||||
Description: "检查指定的字段值是否不存在于字段中",
|
Description: "检查指定的字段值是否不存在于字段中",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidatorRuleGtcsfield: {
|
ValidatorRuleGtcsfield: {
|
||||||
ValidatorRule: ValidatorRuleGtcsfield,
|
ValidatorRule: ValidatorRuleGtcsfield,
|
||||||
@ -122,22 +122,22 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
|||||||
ValidatorRuleNecsfield: {
|
ValidatorRuleNecsfield: {
|
||||||
ValidatorRule: ValidatorRuleNecsfield,
|
ValidatorRule: ValidatorRuleNecsfield,
|
||||||
Description: "不等于(跨结构体)",
|
Description: "不等于(跨结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidatorRuleNefield: {
|
ValidatorRuleNefield: {
|
||||||
ValidatorRule: ValidatorRuleNefield,
|
ValidatorRule: ValidatorRuleNefield,
|
||||||
Description: "不等于(同结构体)",
|
Description: "不等于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidateRuleEq: {
|
ValidateRuleEq: {
|
||||||
ValidatorRule: ValidateRuleEq,
|
ValidatorRule: ValidateRuleEq,
|
||||||
Description: "等于(严格校验)",
|
Description: "等于(严格校验)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidateRuleEqIgnoreCase: {
|
ValidateRuleEqIgnoreCase: {
|
||||||
ValidatorRule: ValidateRuleEqIgnoreCase,
|
ValidatorRule: ValidateRuleEqIgnoreCase,
|
||||||
Description: "等于(忽略大小写)",
|
Description: "等于(忽略大小写)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidateRuleGt: {
|
ValidateRuleGt: {
|
||||||
ValidatorRule: ValidateRuleGt,
|
ValidatorRule: ValidateRuleGt,
|
||||||
@ -162,41 +162,216 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
|||||||
ValidateRuleNe: {
|
ValidateRuleNe: {
|
||||||
ValidatorRule: ValidateRuleNe,
|
ValidatorRule: ValidateRuleNe,
|
||||||
Description: "不等于(严格判断)",
|
Description: "不等于(严格判断)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
},
|
},
|
||||||
ValidateRuleNeIgnoreCase: {
|
ValidateRuleNeIgnoreCase: {
|
||||||
ValidatorRule: ValidateRuleNeIgnoreCase,
|
ValidatorRule: ValidateRuleNeIgnoreCase,
|
||||||
Description: "不等于(忽略大小写)",
|
Description: "不等于(忽略大小写)",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonDir: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonDir,
|
||||||
|
Description: "文件夹存在",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonDirPath: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonDirPath,
|
||||||
|
Description: "文件夹路径存在",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonFile: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonFile,
|
||||||
|
Description: "文件存在",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonFilepath: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonFilepath,
|
||||||
|
Description: "文件路径存在",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonImage: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonImage,
|
||||||
|
Description: "是否图像资源",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonIsDefault: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonIsDefault,
|
||||||
|
Description: "是否对应类型默认值",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonLen: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonLen,
|
||||||
|
Description: "数据长度",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal, DataTypeSlice, DataTypeMap), // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonMax: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonMax,
|
||||||
|
Description: "最大值",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonMin: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonMin,
|
||||||
|
Description: "最小值",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonOneOf: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonOneOf,
|
||||||
|
Description: "枚举值",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
||||||
},
|
},
|
||||||
|
ValidatorRuleCommonRequired: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequired,
|
||||||
|
Description: "必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonRequiredIf: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequiredIf,
|
||||||
|
Description: "当指定字段等于给定值时, 必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonRequiredUnless: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequiredUnless,
|
||||||
|
Description: "当指定字段不等于给定值时, 必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonRequiredWith: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequiredWith,
|
||||||
|
Description: "当任意一个指定字段不为零值时, 必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonRequiredWithAll: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequiredWithAll,
|
||||||
|
Description: "当全部指定字段不为零值时, 必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonRequiredWithout: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequiredWithout,
|
||||||
|
Description: "当任意一个字段为空时, 必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonRequiredWithoutAll: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonRequiredWithoutAll,
|
||||||
|
Description: "当全部字段为空时, 必传校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonExcludedIf: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonExcludedIf,
|
||||||
|
Description: "当指定字段等于给定值时,排除校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonExcludedUnless: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonExcludedUnless,
|
||||||
|
Description: "当指定字段等于给定值时,排除校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonExcludedWith: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonExcludedWith,
|
||||||
|
Description: "当全部指定字段不为零值时,排除校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonExcludedWithAll: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonExcludedWithAll,
|
||||||
|
Description: "当全部指定字段不为零值时,排除校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonExcludedWithout: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonExcludedWithout,
|
||||||
|
Description: "当任意一个指定字段不存在时,排除校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonExcludedWithoutAll: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonExcludedWithoutAll,
|
||||||
|
Description: "当全部指定字段不存在时,排除校验",
|
||||||
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleCommonUnique: {
|
||||||
|
ValidatorRule: ValidatorRuleCommonUnique,
|
||||||
|
Description: "是否唯一, 用于切片验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeSlice), // 所有类型均支持
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterCron: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterCron,
|
||||||
|
Description: "cron表达式验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterEmail: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterEmail,
|
||||||
|
Description: "邮箱地址验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterJson: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterJson,
|
||||||
|
Description: "json格式验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterJwt: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterJson,
|
||||||
|
Description: "JWT(JSON Web Token)验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterLatitude: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterLatitude,
|
||||||
|
Description: "纬度验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterLongitude: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterLongitude,
|
||||||
|
Description: "经度验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterTimezone: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterLongitude,
|
||||||
|
Description: "时区验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterUrl: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterUrl,
|
||||||
|
Description: "url验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterUri: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterUrl,
|
||||||
|
Description: "uri验证",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterLowercase: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterLowercase,
|
||||||
|
Description: "仅包含小写字符",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
|
ValidatorRuleFormatterUppercase: {
|
||||||
|
ValidatorRule: ValidatorRuleFormatterUppercase,
|
||||||
|
Description: "仅包含大写字符",
|
||||||
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// ValidatorRuleEqcsfield .....Fields ..............
|
// ValidatorRuleEqcsfield .....Fields ..............
|
||||||
ValidatorRuleEqcsfield ValidatorRule = "eqcsfield" // 跨结构体字段相等
|
ValidatorRuleEqcsfield ValidatorRule = "eqcsfield" // 跨结构体字段相等 eqcsfield={{struct.field}}
|
||||||
ValidatorRuleEqfield ValidatorRule = "eqfield" // 同结构体字段相等
|
ValidatorRuleEqfield ValidatorRule = "eqfield" // 同结构体字段相等 eqfield={{struct.field}}
|
||||||
ValidatorRuleFieldcontains ValidatorRule = "fieldcontains" // 检查指定的字段值是否存在于字段中
|
ValidatorRuleFieldcontains ValidatorRule = "fieldcontains" // 检查指定的字段值是否存在于字段中 fieldcontains={{struct.field}}
|
||||||
ValidatorRuleFieldexcludes ValidatorRule = "fieldexcludes" // 检查指定的字段值是否存在于字段中
|
ValidatorRuleFieldexcludes ValidatorRule = "fieldexcludes" // 检查指定的字段值是否存在于字段中 fieldexcludes={{struct.field}}
|
||||||
ValidatorRuleGtcsfield ValidatorRule = "gtcsfield" // 大于(跨结构体)
|
ValidatorRuleGtcsfield ValidatorRule = "gtcsfield" // 大于(跨结构体) gtcsfield={{struct.field}}
|
||||||
ValidatorRuleGtecsfield ValidatorRule = "gtecsfield" // 大于等于(跨结构体)
|
ValidatorRuleGtecsfield ValidatorRule = "gtecsfield" // 大于等于(跨结构体) gtecsfield={{struct.field}}
|
||||||
ValidatorRuleGtfield ValidatorRule = "gtfield" // 大于(同结构体)
|
ValidatorRuleGtfield ValidatorRule = "gtfield" // 大于(同结构体) gtfield={{struct.field}}
|
||||||
ValidatorRuleGtefield ValidatorRule = "gtefield" // 大于等于(同结构体)
|
ValidatorRuleGtefield ValidatorRule = "gtefield" // 大于等于(同结构体) gtefield={{struct.field}}
|
||||||
ValidatorRuleLtcsfield ValidatorRule = "ltcsfield" // 小于(跨结构体)
|
ValidatorRuleLtcsfield ValidatorRule = "ltcsfield" // 小于(跨结构体) ltcsfield={{struct.field}}
|
||||||
ValidatorRuleLtecsfield ValidatorRule = "ltecsfield" // 小于等于(跨结构体)
|
ValidatorRuleLtecsfield ValidatorRule = "ltecsfield" // 小于等于(跨结构体) ltecsfield={{struct.field}}
|
||||||
ValidatorRuleLtfield ValidatorRule = "ltfield" // 小于(同结构体)
|
ValidatorRuleLtfield ValidatorRule = "ltfield" // 小于(同结构体) ltfield={{struct.field}}
|
||||||
ValidatorRuleLtefield ValidatorRule = "ltefield" // 小于等于(同结构体)
|
ValidatorRuleLtefield ValidatorRule = "ltefield" // 小于等于(同结构体) ltefield={{struct.field}}
|
||||||
ValidatorRuleNecsfield ValidatorRule = "necsfield" // 不等于(跨结构体)
|
ValidatorRuleNecsfield ValidatorRule = "necsfield" // 不等于(跨结构体) necsfield={{struct.field}}
|
||||||
ValidatorRuleNefield ValidatorRule = "nefield" // 不等于(同结构体)
|
ValidatorRuleNefield ValidatorRule = "nefield" // 不等于(同结构体) nefield={{struct.field}}
|
||||||
|
|
||||||
// ValidateRuleEq Comparisons ....................
|
// ValidateRuleEq Comparisons ....................
|
||||||
ValidateRuleEq ValidatorRule = "eq" // 相等(严格判断)
|
ValidateRuleEq ValidatorRule = "eq" // 相等(严格判断) eq={{any_value}}
|
||||||
ValidateRuleEqIgnoreCase ValidatorRule = "eq_ignore_case" // 相等(忽略大小写)
|
ValidateRuleEqIgnoreCase ValidatorRule = "eq_ignore_case" // 相等(忽略大小写) eq_ignore_case={{any_value}}
|
||||||
ValidateRuleGt ValidatorRule = "gt" // 大于
|
ValidateRuleGt ValidatorRule = "gt" // 大于 gt={{number_value}}
|
||||||
ValidateRuleGte ValidatorRule = "gte" // 大于等于
|
ValidateRuleGte ValidatorRule = "gte" // 大于等于 gte={{number_value}}
|
||||||
ValidateRuleLt ValidatorRule = "lt" // 小于
|
ValidateRuleLt ValidatorRule = "lt" // 小于 lt={{number_value}}
|
||||||
ValidateRuleLte ValidatorRule = "lte" // 小于等于
|
ValidateRuleLte ValidatorRule = "lte" // 小于等于 lte={{number_value}}
|
||||||
ValidateRuleNe ValidatorRule = "ne" // 不相等(严格判断)
|
ValidateRuleNe ValidatorRule = "ne" // 不相等(严格判断) ne={{any_value}}
|
||||||
ValidateRuleNeIgnoreCase ValidatorRule = "ne_ignore_case" // 不相等(忽略大小写)
|
ValidateRuleNeIgnoreCase ValidatorRule = "ne_ignore_case" // 不相等(忽略大小写) ne_ignore_case={{any_value}}
|
||||||
|
|
||||||
// ValidatorRuleCommonDir ............others
|
// ValidatorRuleCommonDir ............others
|
||||||
ValidatorRuleCommonDir ValidatorRule = "dir" // 文件夹存在
|
ValidatorRuleCommonDir ValidatorRule = "dir" // 文件夹存在
|
||||||
@ -205,24 +380,24 @@ var (
|
|||||||
ValidatorRuleCommonFilepath ValidatorRule = "filepath" // 文件路径
|
ValidatorRuleCommonFilepath ValidatorRule = "filepath" // 文件路径
|
||||||
ValidatorRuleCommonImage ValidatorRule = "image" // 图像
|
ValidatorRuleCommonImage ValidatorRule = "image" // 图像
|
||||||
ValidatorRuleCommonIsDefault ValidatorRule = "isdefault" // 是否默认值
|
ValidatorRuleCommonIsDefault ValidatorRule = "isdefault" // 是否默认值
|
||||||
ValidatorRuleCommonLen ValidatorRule = "len" // 长度
|
ValidatorRuleCommonLen ValidatorRule = "len" // 长度 len={{uint_value}}
|
||||||
ValidatorRuleCommonMax ValidatorRule = "max" // 最大值
|
ValidatorRuleCommonMax ValidatorRule = "max" // 最大值 max={{int_value}}
|
||||||
ValidatorRuleCommonMin ValidatorRule = "min" // 最小值
|
ValidatorRuleCommonMin ValidatorRule = "min" // 最小值 min={{int_value}}
|
||||||
ValidatorRuleCommonOneOf ValidatorRule = "oneof" // 枚举值, 多个空格分隔
|
ValidatorRuleCommonOneOf ValidatorRule = "oneof" // 枚举值, 多个空格分隔 oneof={{enum1}} {{enum2}} {{enum....}}
|
||||||
ValidatorRuleCommonRequired ValidatorRule = "required" // 必传
|
ValidatorRuleCommonRequired ValidatorRule = "required" // 必传
|
||||||
ValidatorRuleCommonRequiredIf ValidatorRule = "required_if" //
|
ValidatorRuleCommonRequiredIf ValidatorRule = "required_if" // 当指定字段等于给定值时,校验必传 required_if={{check_field}} {{check_field_value}} {{check_field...}} {{check_field_value...}}
|
||||||
ValidatorRuleCommonRequiredUnless ValidatorRule = "required_unless" //
|
ValidatorRuleCommonRequiredUnless ValidatorRule = "required_unless" // 当指定字段不等于给定值时,校验必传 required_if={{check_field}} {{check_field_value}} {{check_field...}} {{check_field_value...}}
|
||||||
ValidatorRuleCommonRequiredWith ValidatorRule = "required_with" //
|
ValidatorRuleCommonRequiredWith ValidatorRule = "required_with" // 当任意一个指定字段不为零值时, 校验必传 required_with={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonRequiredWithAll ValidatorRule = "required_with_all" //
|
ValidatorRuleCommonRequiredWithAll ValidatorRule = "required_with_all" // 当全部指定字段不为零值时, 校验必传 required_with={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonRequiredWithout ValidatorRule = "required_without" //
|
ValidatorRuleCommonRequiredWithout ValidatorRule = "required_without" // 任意一个字段为空时,必传校验 required_without={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonRequiredWithoutAll ValidatorRule = "required_without_all" //
|
ValidatorRuleCommonRequiredWithoutAll ValidatorRule = "required_without_all" // 全部字段为空时,必传校验 required_without_all={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonExcludedIf ValidatorRule = "excluded_if" //
|
ValidatorRuleCommonExcludedIf ValidatorRule = "excluded_if" // 当指定字段等于给定值时,排除校验 excluded_if={{check_field}} {{check_field_value}} {{check_field...}} {{check_field_value...}}
|
||||||
ValidatorRuleCommonExcludedUnless ValidatorRule = "excluded_unless" //
|
ValidatorRuleCommonExcludedUnless ValidatorRule = "excluded_unless" // 当指定字段不等于给定值时,排除校验 excluded_if={{check_field}} {{check_field_value}} {{check_field...}} {{check_field_value...}}
|
||||||
ValidatorRuleCommonExcludedWith ValidatorRule = "excluded_with" //
|
ValidatorRuleCommonExcludedWith ValidatorRule = "excluded_with" // 当任意一个指定字段不为零值时,排除校验 excluded_with={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonExcludedWithAll ValidatorRule = "excluded_with_all" //
|
ValidatorRuleCommonExcludedWithAll ValidatorRule = "excluded_with_all" // 当全部指定字段不为零值时,排除校验 excluded_with_all={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonExcludedWithout ValidatorRule = "excluded_without" //
|
ValidatorRuleCommonExcludedWithout ValidatorRule = "excluded_without" // 当任意一个指定字段不存在时,排除校验 excluded_without={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonExcludedWithoutAll ValidatorRule = "excluded_without_all" //
|
ValidatorRuleCommonExcludedWithoutAll ValidatorRule = "excluded_without_all" // 当q廍指定字段不存在时,排除校验 excluded_without-all={{Field1}} {{Field2}} {{Field...}}
|
||||||
ValidatorRuleCommonUnique ValidatorRule = "unique" //
|
ValidatorRuleCommonUnique ValidatorRule = "unique" // 数据唯一校验
|
||||||
|
|
||||||
// ValidatorRuleFormatterCron ............. formatter
|
// ValidatorRuleFormatterCron ............. formatter
|
||||||
ValidatorRuleFormatterCron ValidatorRule = "cron" // cron表达式
|
ValidatorRuleFormatterCron ValidatorRule = "cron" // cron表达式
|
||||||
@ -232,4 +407,8 @@ var (
|
|||||||
ValidatorRuleFormatterLatitude ValidatorRule = "latitude" // 纬度
|
ValidatorRuleFormatterLatitude ValidatorRule = "latitude" // 纬度
|
||||||
ValidatorRuleFormatterLongitude ValidatorRule = "longitude" // 经度
|
ValidatorRuleFormatterLongitude ValidatorRule = "longitude" // 经度
|
||||||
ValidatorRuleFormatterTimezone ValidatorRule = "timezone" // 时区
|
ValidatorRuleFormatterTimezone ValidatorRule = "timezone" // 时区
|
||||||
|
ValidatorRuleFormatterUrl ValidatorRule = "url" // url
|
||||||
|
ValidatorRuleFormatterUri ValidatorRule = "uri" // uri
|
||||||
|
ValidatorRuleFormatterLowercase ValidatorRule = "lowercase" // 仅包含小写字符
|
||||||
|
ValidatorRuleFormatterUppercase ValidatorRule = "uppercase" // 仅包含大写字符
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user