增加规则默认实例
This commit is contained in:
parent
f175cc4f75
commit
7454036bf5
@ -17,6 +17,9 @@ type FieldRule struct {
|
|||||||
Type string `json:"type"` // 数据类型, 具体枚举值参见 git.zhangdeman.cn/zhangdeman/consts
|
Type string `json:"type"` // 数据类型, 具体枚举值参见 git.zhangdeman.cn/zhangdeman/consts
|
||||||
DefaultValue string `json:"default_value"` // 默认值, 统一以字符串传入, 会转为最终设置的类型
|
DefaultValue string `json:"default_value"` // 默认值, 统一以字符串传入, 会转为最终设置的类型
|
||||||
IsRequired bool `json:"is_required"` // 是否必传
|
IsRequired bool `json:"is_required"` // 是否必传
|
||||||
|
AllowEmpty bool `json:"allow_empty"` // 必传时空字符串是否合法
|
||||||
|
AllowZero bool `json:"allow_zero"` // 必传数字, 0 是否合法
|
||||||
|
AllowNil bool `json:"allow_nil"` // 必传时, nil值是否合法
|
||||||
RequiredConditionGroup [][]RequiredCondition `json:"required_condition_group"` // 满足何种条件,字段必传,不配置则为无差别必传, 组之间是或条件, 满足一组即命中, 组之内为与条件
|
RequiredConditionGroup [][]RequiredCondition `json:"required_condition_group"` // 满足何种条件,字段必传,不配置则为无差别必传, 组之间是或条件, 满足一组即命中, 组之内为与条件
|
||||||
ValueLimit *ValueLimit `json:"value_limit"` // 数据值的限制
|
ValueLimit *ValueLimit `json:"value_limit"` // 数据值的限制
|
||||||
}
|
}
|
||||||
@ -63,8 +66,8 @@ type StringValueLimit struct {
|
|||||||
//
|
//
|
||||||
// Date : 11:22 2024/4/29
|
// Date : 11:22 2024/4/29
|
||||||
type IntValueLimit struct {
|
type IntValueLimit struct {
|
||||||
Min int64 `json:"min"` // 最小值(包含)
|
Min *int64 `json:"min"` // 最小值(包含)
|
||||||
Max int64 `json:"max"` // 最大值(不包含)
|
Max *int64 `json:"max"` // 最大值(不包含)
|
||||||
EnumList []int64 `json:"enum_list"` // 枚举值列表
|
EnumList []int64 `json:"enum_list"` // 枚举值列表
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,8 +77,8 @@ type IntValueLimit struct {
|
|||||||
//
|
//
|
||||||
// Date : 11:22 2024/4/29
|
// Date : 11:22 2024/4/29
|
||||||
type FloatValueLimit struct {
|
type FloatValueLimit struct {
|
||||||
Min float64 `json:"min"` // 最小值(包含)
|
Min *float64 `json:"min"` // 最小值(包含)
|
||||||
Max float64 `json:"max"` // 最大值(不包含)
|
Max *float64 `json:"max"` // 最大值(不包含)
|
||||||
EnumList []float64 `json:"enum_list"` // 枚举值列表
|
EnumList []float64 `json:"enum_list"` // 枚举值列表
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
go.mod
2
go.mod
@ -1,3 +1,5 @@
|
|||||||
module git.zhangdeman.cn/gateway/validator
|
module git.zhangdeman.cn/gateway/validator
|
||||||
|
|
||||||
go 1.22.2
|
go 1.22.2
|
||||||
|
|
||||||
|
require git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240429055735-7d7191726f0c // indirect
|
||||||
|
2
go.sum
Normal file
2
go.sum
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240429055735-7d7191726f0c h1:n+n49onVpIgemvRdX4XnUB5psWh/NZ/qYkapCbJ4AYA=
|
||||||
|
git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240429055735-7d7191726f0c/go.mod h1:IXXaZkb7vGzGnGM5RRWrASAuwrVSNxuoe0DmeXx5g6k=
|
107
rule_instance.go
Normal file
107
rule_instance.go
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
// Package validator ...
|
||||||
|
//
|
||||||
|
// Description : validator ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2024-04-29 12:18
|
||||||
|
package validator
|
||||||
|
|
||||||
|
import "git.zhangdeman.cn/gateway/validator/define"
|
||||||
|
|
||||||
|
// NewDefaultFieldRule ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 14:01 2024/4/29
|
||||||
|
func NewDefaultFieldRule(path string, dataType string, isRequired bool, defaultValue string) *define.FieldRule {
|
||||||
|
r := &define.FieldRule{
|
||||||
|
Path: path,
|
||||||
|
Type: dataType,
|
||||||
|
DefaultValue: defaultValue,
|
||||||
|
IsRequired: isRequired,
|
||||||
|
AllowNil: false,
|
||||||
|
AllowEmpty: false,
|
||||||
|
AllowZero: true,
|
||||||
|
RequiredConditionGroup: make([][]define.RequiredCondition, 0),
|
||||||
|
ValueLimit: &define.ValueLimit{
|
||||||
|
String: nil,
|
||||||
|
Int: nil,
|
||||||
|
Float: nil,
|
||||||
|
Slice: nil,
|
||||||
|
Map: nil,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDefaultStringValueLimit ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 12:22 2024/4/29
|
||||||
|
func NewDefaultStringValueLimit(minLength int64, maxLength int64) *define.StringValueLimit {
|
||||||
|
l := &define.StringValueLimit{
|
||||||
|
MinLength: minLength,
|
||||||
|
MaxLength: maxLength,
|
||||||
|
AutoTrimSpace: true,
|
||||||
|
IncludeSubStrList: make([]string, 0),
|
||||||
|
EnumList: make([]string, 0),
|
||||||
|
}
|
||||||
|
return l
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDefaultIntValueLimit ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 12:24 2024/4/29
|
||||||
|
func NewDefaultIntValueLimit(min *int64, max *int64) *define.IntValueLimit {
|
||||||
|
l := &define.IntValueLimit{
|
||||||
|
Min: min,
|
||||||
|
Max: max,
|
||||||
|
EnumList: make([]int64, 0),
|
||||||
|
}
|
||||||
|
return l
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDefaultFloatValueLimit ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 12:27 2024/4/29
|
||||||
|
func NewDefaultFloatValueLimit(min *float64, max *float64) *define.FloatValueLimit {
|
||||||
|
l := &define.FloatValueLimit{
|
||||||
|
Min: min,
|
||||||
|
Max: max,
|
||||||
|
EnumList: make([]float64, 0),
|
||||||
|
}
|
||||||
|
return l
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDefaultSliceValueLimit ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 12:30 2024/4/29
|
||||||
|
func NewDefaultSliceValueLimit(minLength int64, maxLength int64) *define.SliceValueLimit {
|
||||||
|
l := &define.SliceValueLimit{
|
||||||
|
MinLength: minLength,
|
||||||
|
MaxLength: maxLength,
|
||||||
|
}
|
||||||
|
return l
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDefaultMapValueLimit ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 12:30 2024/4/29
|
||||||
|
func NewDefaultMapValueLimit(minLength int64, maxLength int64) *define.MapValueLimit {
|
||||||
|
l := &define.MapValueLimit{
|
||||||
|
MinLength: minLength,
|
||||||
|
MaxLength: maxLength,
|
||||||
|
IncludeFieldList: make([]string, 0),
|
||||||
|
}
|
||||||
|
return l
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user