优化验证规则配置,增加更多属性
This commit is contained in:
		
							
								
								
									
										127
									
								
								validator.go
									
									
									
									
									
								
							
							
						
						
									
										127
									
								
								validator.go
									
									
									
									
									
								
							@ -51,6 +51,10 @@ type ValidatorRuleConfig struct {
 | 
			
		||||
	ValidatorRule       ValidatorRule `json:"validator_rule"`         // 验证规则
 | 
			
		||||
	Description         string        `json:"description"`            // 规则描述
 | 
			
		||||
	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 验证规则支持的数据类型表
 | 
			
		||||
@ -63,196 +67,291 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
 | 
			
		||||
		ValidatorRule:       ValidatorRuleEqcsfield,
 | 
			
		||||
		Description:         "跨结构体字段相等",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleEqfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleEqfield,
 | 
			
		||||
		Description:         "同结构体字段相等",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleFieldcontains: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleFieldcontains,
 | 
			
		||||
		Description:         "检查指定的字段值是否存在于字段中",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleFieldexcludes: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleFieldexcludes,
 | 
			
		||||
		Description:         "检查指定的字段值是否不存在于字段中",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseString, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleGtcsfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleGtcsfield,
 | 
			
		||||
		Description:         "大于(跨结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleGtecsfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleGtecsfield,
 | 
			
		||||
		Description:         "大于(同结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleGtfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleGtfield,
 | 
			
		||||
		Description:         "大于(同结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleGtefield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleGtefield,
 | 
			
		||||
		Description:         "大于(同结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleLtcsfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleLtcsfield,
 | 
			
		||||
		Description:         "小于(跨结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleLtecsfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleLtecsfield,
 | 
			
		||||
		Description:         "小于等于(跨结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleLtfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleLtfield,
 | 
			
		||||
		Description:         "小于(同结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleLtefield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleLtefield,
 | 
			
		||||
		Description:         "小于等于(同结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleNecsfield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleNecsfield,
 | 
			
		||||
		Description:         "不等于(跨结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleNefield: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleNefield,
 | 
			
		||||
		Description:         "不等于(同结构体)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleEq: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleEq,
 | 
			
		||||
		Description:         "等于(严格校验)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleEqIgnoreCase: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleEqIgnoreCase,
 | 
			
		||||
		Description:         "等于(忽略大小写)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         1,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleGt: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleGt,
 | 
			
		||||
		Description:         "大于",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleGte: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleGte,
 | 
			
		||||
		Description:         "大于等于",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleLt: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleLt,
 | 
			
		||||
		Description:         "小于",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleLte: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleLte,
 | 
			
		||||
		Description:         "小于等于",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleNe: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleNe,
 | 
			
		||||
		Description:         "不等于(严格判断)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidateRuleNeIgnoreCase: {
 | 
			
		||||
		ValidatorRule:       ValidateRuleNeIgnoreCase,
 | 
			
		||||
		Description:         "不等于(忽略大小写)",
 | 
			
		||||
		SupportDataTypeList: getMergeDataTypeList(DataTypeBaseNumber, DataTypeBaseString, DataTypeBaseBool, DataTypeSliceMarshal, DataTypeSliceSplit, DataTypeMapMarshal),
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    false,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleCommonDir: {
 | 
			
		||||
		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,
 | 
			
		||||
	},
 | 
			
		||||
	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, // 所有类型均支持
 | 
			
		||||
		MinParamCnt:         2,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    true,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleCommonRequiredUnless: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleCommonRequiredUnless,
 | 
			
		||||
		Description:         "当指定字段不等于给定值时, 必传校验",
 | 
			
		||||
		SupportDataTypeList: nil, // 所有类型均支持
 | 
			
		||||
		MinParamCnt:         2,
 | 
			
		||||
		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:         "当任意一个字段为空时, 必传校验",
 | 
			
		||||
		Description:         "当任意一个字段不存在时, 必传校验",
 | 
			
		||||
		SupportDataTypeList: nil, // 所有类型均支持
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleCommonRequiredWithoutAll: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleCommonRequiredWithoutAll,
 | 
			
		||||
		Description:         "当全部字段为空时, 必传校验",
 | 
			
		||||
		Description:         "当全部字段不存在时, 必传校验",
 | 
			
		||||
		SupportDataTypeList: nil, // 所有类型均支持
 | 
			
		||||
		MinParamCnt:         1,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleCommonExcludedIf: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleCommonExcludedIf,
 | 
			
		||||
@ -263,86 +362,110 @@ var ValidatorRuleSupportDataTypeTable = map[ValidatorRule]ValidatorRuleConfig{
 | 
			
		||||
		ValidatorRule:       ValidatorRuleCommonExcludedUnless,
 | 
			
		||||
		Description:         "当指定字段等于给定值时,排除校验",
 | 
			
		||||
		SupportDataTypeList: nil, // 所有类型均支持
 | 
			
		||||
		MinParamCnt:         2,
 | 
			
		||||
		MaxParamCnt:         0,
 | 
			
		||||
		ParamCntMustEven:    true,
 | 
			
		||||
	},
 | 
			
		||||
	ValidatorRuleCommonExcludedWith: {
 | 
			
		||||
		ValidatorRule:       ValidatorRuleCommonExcludedWith,
 | 
			
		||||
		Description:         "当全部指定字段不为零值时,排除校验",
 | 
			
		||||
		SupportDataTypeList: nil, // 所有类型均支持
 | 
			
		||||
		MinParamCnt:         2,
 | 
			
		||||
		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),
 | 
			
		||||
		WithoutParam:        true,
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user