增加验证规则的枚举值 #2
127
validator.go
127
validator.go
@ -51,6 +51,10 @@ type ValidatorRuleConfig struct {
|
|||||||
ValidatorRule ValidatorRule `json:"validator_rule"` // 验证规则
|
ValidatorRule ValidatorRule `json:"validator_rule"` // 验证规则
|
||||||
Description string `json:"description"` // 规则描述
|
Description string `json:"description"` // 规则描述
|
||||||
SupportDataTypeList []DataType `json:"support_data_type_list"` // 支持的数据类型列表
|
SupportDataTypeList []DataType `json:"support_data_type_list"` // 支持的数据类型列表
|
||||||
|
MinParamCnt int `json:"min_param_cnt"` // 最小参数数量(闭区间)
|
||||||
|
MaxParamCnt int `json:"max_param_cnt"` // 最大参数数量(闭区间)
|
||||||
|
ParamCntMustEven bool `json:"param_cnt_must_even"` // 参数数量必须是偶数
|
||||||
|
WithoutParam bool `json:"without_param"` // 没有参数, 此值为 true, 忽略 MinParamCnt / MaxParamCnt / ParamCntMustEven
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidatorRuleSupportDataTypeTable 验证规则支持的数据类型表
|
// ValidatorRuleSupportDataTypeTable 验证规则支持的数据类型表
|
||||||
@ -63,196 +67,291 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
|||||||
ValidatorRule: ValidatorRuleEqcsfield,
|
ValidatorRule: ValidatorRuleEqcsfield,
|
||||||
Description: "跨结构体字段相等",
|
Description: "跨结构体字段相等",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleEqfield: {
|
ValidatorRuleEqfield: {
|
||||||
ValidatorRule: ValidatorRuleEqfield,
|
ValidatorRule: ValidatorRuleEqfield,
|
||||||
Description: "同结构体字段相等",
|
Description: "同结构体字段相等",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleFieldcontains: {
|
ValidatorRuleFieldcontains: {
|
||||||
ValidatorRule: ValidatorRuleFieldcontains,
|
ValidatorRule: ValidatorRuleFieldcontains,
|
||||||
Description: "检查指定的字段值是否存在于字段中",
|
Description: "检查指定的字段值是否存在于字段中",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleFieldexcludes: {
|
ValidatorRuleFieldexcludes: {
|
||||||
ValidatorRule: ValidatorRuleFieldexcludes,
|
ValidatorRule: ValidatorRuleFieldexcludes,
|
||||||
Description: "检查指定的字段值是否不存在于字段中",
|
Description: "检查指定的字段值是否不存在于字段中",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleGtcsfield: {
|
ValidatorRuleGtcsfield: {
|
||||||
ValidatorRule: ValidatorRuleGtcsfield,
|
ValidatorRule: ValidatorRuleGtcsfield,
|
||||||
Description: "大于(跨结构体)",
|
Description: "大于(跨结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleGtecsfield: {
|
ValidatorRuleGtecsfield: {
|
||||||
ValidatorRule: ValidatorRuleGtecsfield,
|
ValidatorRule: ValidatorRuleGtecsfield,
|
||||||
Description: "大于(同结构体)",
|
Description: "大于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleGtfield: {
|
ValidatorRuleGtfield: {
|
||||||
ValidatorRule: ValidatorRuleGtfield,
|
ValidatorRule: ValidatorRuleGtfield,
|
||||||
Description: "大于(同结构体)",
|
Description: "大于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleGtefield: {
|
ValidatorRuleGtefield: {
|
||||||
ValidatorRule: ValidatorRuleGtefield,
|
ValidatorRule: ValidatorRuleGtefield,
|
||||||
Description: "大于(同结构体)",
|
Description: "大于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleLtcsfield: {
|
ValidatorRuleLtcsfield: {
|
||||||
ValidatorRule: ValidatorRuleLtcsfield,
|
ValidatorRule: ValidatorRuleLtcsfield,
|
||||||
Description: "小于(跨结构体)",
|
Description: "小于(跨结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleLtecsfield: {
|
ValidatorRuleLtecsfield: {
|
||||||
ValidatorRule: ValidatorRuleLtecsfield,
|
ValidatorRule: ValidatorRuleLtecsfield,
|
||||||
Description: "小于等于(跨结构体)",
|
Description: "小于等于(跨结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleLtfield: {
|
ValidatorRuleLtfield: {
|
||||||
ValidatorRule: ValidatorRuleLtfield,
|
ValidatorRule: ValidatorRuleLtfield,
|
||||||
Description: "小于(同结构体)",
|
Description: "小于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleLtefield: {
|
ValidatorRuleLtefield: {
|
||||||
ValidatorRule: ValidatorRuleLtefield,
|
ValidatorRule: ValidatorRuleLtefield,
|
||||||
Description: "小于等于(同结构体)",
|
Description: "小于等于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleNecsfield: {
|
ValidatorRuleNecsfield: {
|
||||||
ValidatorRule: ValidatorRuleNecsfield,
|
ValidatorRule: ValidatorRuleNecsfield,
|
||||||
Description: "不等于(跨结构体)",
|
Description: "不等于(跨结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleNefield: {
|
ValidatorRuleNefield: {
|
||||||
ValidatorRule: ValidatorRuleNefield,
|
ValidatorRule: ValidatorRuleNefield,
|
||||||
Description: "不等于(同结构体)",
|
Description: "不等于(同结构体)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleEq: {
|
ValidateRuleEq: {
|
||||||
ValidatorRule: ValidateRuleEq,
|
ValidatorRule: ValidateRuleEq,
|
||||||
Description: "等于(严格校验)",
|
Description: "等于(严格校验)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleEqIgnoreCase: {
|
ValidateRuleEqIgnoreCase: {
|
||||||
ValidatorRule: ValidateRuleEqIgnoreCase,
|
ValidatorRule: ValidateRuleEqIgnoreCase,
|
||||||
Description: "等于(忽略大小写)",
|
Description: "等于(忽略大小写)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleGt: {
|
ValidateRuleGt: {
|
||||||
ValidatorRule: ValidateRuleGt,
|
ValidatorRule: ValidateRuleGt,
|
||||||
Description: "大于",
|
Description: "大于",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleGte: {
|
ValidateRuleGte: {
|
||||||
ValidatorRule: ValidateRuleGte,
|
ValidatorRule: ValidateRuleGte,
|
||||||
Description: "大于等于",
|
Description: "大于等于",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleLt: {
|
ValidateRuleLt: {
|
||||||
ValidatorRule: ValidateRuleLt,
|
ValidatorRule: ValidateRuleLt,
|
||||||
Description: "小于",
|
Description: "小于",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleLte: {
|
ValidateRuleLte: {
|
||||||
ValidatorRule: ValidateRuleLte,
|
ValidatorRule: ValidateRuleLte,
|
||||||
Description: "小于等于",
|
Description: "小于等于",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleNe: {
|
ValidateRuleNe: {
|
||||||
ValidatorRule: ValidateRuleNe,
|
ValidatorRule: ValidateRuleNe,
|
||||||
Description: "不等于(严格判断)",
|
Description: "不等于(严格判断)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidateRuleNeIgnoreCase: {
|
ValidateRuleNeIgnoreCase: {
|
||||||
ValidatorRule: ValidateRuleNeIgnoreCase,
|
ValidatorRule: ValidateRuleNeIgnoreCase,
|
||||||
Description: "不等于(忽略大小写)",
|
Description: "不等于(忽略大小写)",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: false,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonDir: {
|
ValidatorRuleCommonDir: {
|
||||||
ValidatorRule: ValidatorRuleCommonDir,
|
ValidatorRule: ValidatorRuleCommonDir,
|
||||||
Description: "文件夹存在",
|
Description: "文件夹存在",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonDirPath: {
|
ValidatorRuleCommonDirPath: {
|
||||||
ValidatorRule: ValidatorRuleCommonDirPath,
|
ValidatorRule: ValidatorRuleCommonDirPath,
|
||||||
Description: "文件夹路径存在",
|
Description: "文件夹路径存在",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonFile: {
|
ValidatorRuleCommonFile: {
|
||||||
ValidatorRule: ValidatorRuleCommonFile,
|
ValidatorRule: ValidatorRuleCommonFile,
|
||||||
Description: "文件存在",
|
Description: "文件存在",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonFilepath: {
|
ValidatorRuleCommonFilepath: {
|
||||||
ValidatorRule: ValidatorRuleCommonFilepath,
|
ValidatorRule: ValidatorRuleCommonFilepath,
|
||||||
Description: "文件路径存在",
|
Description: "文件路径存在",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonImage: {
|
ValidatorRuleCommonImage: {
|
||||||
ValidatorRule: ValidatorRuleCommonImage,
|
ValidatorRule: ValidatorRuleCommonImage,
|
||||||
Description: "是否图像资源",
|
Description: "是否图像资源",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonIsDefault: {
|
ValidatorRuleCommonIsDefault: {
|
||||||
ValidatorRule: ValidatorRuleCommonIsDefault,
|
ValidatorRule: ValidatorRuleCommonIsDefault,
|
||||||
Description: "是否对应类型默认值",
|
Description: "是否对应类型默认值",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonLen: {
|
ValidatorRuleCommonLen: {
|
||||||
ValidatorRule: ValidatorRuleCommonLen,
|
ValidatorRule: ValidatorRuleCommonLen,
|
||||||
Description: "数据长度",
|
Description: "数据长度",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal, DataTypeSlice, DataTypeMap), // 所有类型均支持
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal, DataTypeSlice, DataTypeMap), // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonMax: {
|
ValidatorRuleCommonMax: {
|
||||||
ValidatorRule: ValidatorRuleCommonMax,
|
ValidatorRule: ValidatorRuleCommonMax,
|
||||||
Description: "最大值",
|
Description: "最大值",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonMin: {
|
ValidatorRuleCommonMin: {
|
||||||
ValidatorRule: ValidatorRuleCommonMin,
|
ValidatorRule: ValidatorRuleCommonMin,
|
||||||
Description: "最小值",
|
Description: "最小值",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 1,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonOneOf: {
|
ValidatorRuleCommonOneOf: {
|
||||||
ValidatorRule: ValidatorRuleCommonOneOf,
|
ValidatorRule: ValidatorRuleCommonOneOf,
|
||||||
Description: "枚举值",
|
Description: "枚举值",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool),
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequired: {
|
ValidatorRuleCommonRequired: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequired,
|
ValidatorRule: ValidatorRuleCommonRequired,
|
||||||
Description: "必传校验",
|
Description: "必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequiredIf: {
|
ValidatorRuleCommonRequiredIf: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequiredIf,
|
ValidatorRule: ValidatorRuleCommonRequiredIf,
|
||||||
Description: "当指定字段等于给定值时, 必传校验",
|
Description: "当指定字段等于给定值时, 必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 2,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequiredUnless: {
|
ValidatorRuleCommonRequiredUnless: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequiredUnless,
|
ValidatorRule: ValidatorRuleCommonRequiredUnless,
|
||||||
Description: "当指定字段不等于给定值时, 必传校验",
|
Description: "当指定字段不等于给定值时, 必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 2,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequiredWith: {
|
ValidatorRuleCommonRequiredWith: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequiredWith,
|
ValidatorRule: ValidatorRuleCommonRequiredWith,
|
||||||
Description: "当任意一个指定字段不为零值时, 必传校验",
|
Description: "当任意一个指定字段不为零值时, 必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequiredWithAll: {
|
ValidatorRuleCommonRequiredWithAll: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequiredWithAll,
|
ValidatorRule: ValidatorRuleCommonRequiredWithAll,
|
||||||
Description: "当全部指定字段不为零值时, 必传校验",
|
Description: "当全部指定字段不为零值时, 必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequiredWithout: {
|
ValidatorRuleCommonRequiredWithout: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequiredWithout,
|
ValidatorRule: ValidatorRuleCommonRequiredWithout,
|
||||||
Description: "当任意一个字段为空时, 必传校验",
|
Description: "当任意一个字段不存在时, 必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonRequiredWithoutAll: {
|
ValidatorRuleCommonRequiredWithoutAll: {
|
||||||
ValidatorRule: ValidatorRuleCommonRequiredWithoutAll,
|
ValidatorRule: ValidatorRuleCommonRequiredWithoutAll,
|
||||||
Description: "当全部字段为空时, 必传校验",
|
Description: "当全部字段不存在时, 必传校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonExcludedIf: {
|
ValidatorRuleCommonExcludedIf: {
|
||||||
ValidatorRule: ValidatorRuleCommonExcludedIf,
|
ValidatorRule: ValidatorRuleCommonExcludedIf,
|
||||||
@ -263,86 +362,110 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
|
|||||||
ValidatorRule: ValidatorRuleCommonExcludedUnless,
|
ValidatorRule: ValidatorRuleCommonExcludedUnless,
|
||||||
Description: "当指定字段等于给定值时,排除校验",
|
Description: "当指定字段等于给定值时,排除校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 2,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonExcludedWith: {
|
ValidatorRuleCommonExcludedWith: {
|
||||||
ValidatorRule: ValidatorRuleCommonExcludedWith,
|
ValidatorRule: ValidatorRuleCommonExcludedWith,
|
||||||
Description: "当全部指定字段不为零值时,排除校验",
|
Description: "当全部指定字段不为零值时,排除校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 2,
|
||||||
|
MaxParamCnt: 0,
|
||||||
|
ParamCntMustEven: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonExcludedWithAll: {
|
ValidatorRuleCommonExcludedWithAll: {
|
||||||
ValidatorRule: ValidatorRuleCommonExcludedWithAll,
|
ValidatorRule: ValidatorRuleCommonExcludedWithAll,
|
||||||
Description: "当全部指定字段不为零值时,排除校验",
|
Description: "当全部指定字段不为零值时,排除校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonExcludedWithout: {
|
ValidatorRuleCommonExcludedWithout: {
|
||||||
ValidatorRule: ValidatorRuleCommonExcludedWithout,
|
ValidatorRule: ValidatorRuleCommonExcludedWithout,
|
||||||
Description: "当任意一个指定字段不存在时,排除校验",
|
Description: "当任意一个指定字段不存在时,排除校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonExcludedWithoutAll: {
|
ValidatorRuleCommonExcludedWithoutAll: {
|
||||||
ValidatorRule: ValidatorRuleCommonExcludedWithoutAll,
|
ValidatorRule: ValidatorRuleCommonExcludedWithoutAll,
|
||||||
Description: "当全部指定字段不存在时,排除校验",
|
Description: "当全部指定字段不存在时,排除校验",
|
||||||
SupportDataTypeList: nil, // 所有类型均支持
|
SupportDataTypeList: nil, // 所有类型均支持
|
||||||
|
MinParamCnt: 1,
|
||||||
|
MaxParamCnt: 0,
|
||||||
},
|
},
|
||||||
ValidatorRuleCommonUnique: {
|
ValidatorRuleCommonUnique: {
|
||||||
ValidatorRule: ValidatorRuleCommonUnique,
|
ValidatorRule: ValidatorRuleCommonUnique,
|
||||||
Description: "是否唯一, 用于切片验证",
|
Description: "是否唯一, 用于切片验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeSlice), // 所有类型均支持
|
SupportDataTypeList: getMergeDataTypeList(DataTypeSlice), // 所有类型均支持
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterCron: {
|
ValidatorRuleFormatterCron: {
|
||||||
ValidatorRule: ValidatorRuleFormatterCron,
|
ValidatorRule: ValidatorRuleFormatterCron,
|
||||||
Description: "cron表达式验证",
|
Description: "cron表达式验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterEmail: {
|
ValidatorRuleFormatterEmail: {
|
||||||
ValidatorRule: ValidatorRuleFormatterEmail,
|
ValidatorRule: ValidatorRuleFormatterEmail,
|
||||||
Description: "邮箱地址验证",
|
Description: "邮箱地址验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterJson: {
|
ValidatorRuleFormatterJson: {
|
||||||
ValidatorRule: ValidatorRuleFormatterJson,
|
ValidatorRule: ValidatorRuleFormatterJson,
|
||||||
Description: "json格式验证",
|
Description: "json格式验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterJwt: {
|
ValidatorRuleFormatterJwt: {
|
||||||
ValidatorRule: ValidatorRuleFormatterJson,
|
ValidatorRule: ValidatorRuleFormatterJson,
|
||||||
Description: "JWT(JSON Web Token)验证",
|
Description: "JWT(JSON Web Token)验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterLatitude: {
|
ValidatorRuleFormatterLatitude: {
|
||||||
ValidatorRule: ValidatorRuleFormatterLatitude,
|
ValidatorRule: ValidatorRuleFormatterLatitude,
|
||||||
Description: "纬度验证",
|
Description: "纬度验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterLongitude: {
|
ValidatorRuleFormatterLongitude: {
|
||||||
ValidatorRule: ValidatorRuleFormatterLongitude,
|
ValidatorRule: ValidatorRuleFormatterLongitude,
|
||||||
Description: "经度验证",
|
Description: "经度验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterTimezone: {
|
ValidatorRuleFormatterTimezone: {
|
||||||
ValidatorRule: ValidatorRuleFormatterLongitude,
|
ValidatorRule: ValidatorRuleFormatterLongitude,
|
||||||
Description: "时区验证",
|
Description: "时区验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterUrl: {
|
ValidatorRuleFormatterUrl: {
|
||||||
ValidatorRule: ValidatorRuleFormatterUrl,
|
ValidatorRule: ValidatorRuleFormatterUrl,
|
||||||
Description: "url验证",
|
Description: "url验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterUri: {
|
ValidatorRuleFormatterUri: {
|
||||||
ValidatorRule: ValidatorRuleFormatterUrl,
|
ValidatorRule: ValidatorRuleFormatterUrl,
|
||||||
Description: "uri验证",
|
Description: "uri验证",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterLowercase: {
|
ValidatorRuleFormatterLowercase: {
|
||||||
ValidatorRule: ValidatorRuleFormatterLowercase,
|
ValidatorRule: ValidatorRuleFormatterLowercase,
|
||||||
Description: "仅包含小写字符",
|
Description: "仅包含小写字符",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
ValidatorRuleFormatterUppercase: {
|
ValidatorRuleFormatterUppercase: {
|
||||||
ValidatorRule: ValidatorRuleFormatterUppercase,
|
ValidatorRule: ValidatorRuleFormatterUppercase,
|
||||||
Description: "仅包含大写字符",
|
Description: "仅包含大写字符",
|
||||||
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString),
|
||||||
|
WithoutParam: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user