增加slice的公共逻辑处理

This commit is contained in:
2024-04-30 22:22:28 +08:00
parent c4b8209839
commit d9a775a799
4 changed files with 123 additions and 1 deletions

View File

@ -23,6 +23,7 @@ type FieldRule struct {
AllowNil bool `json:"allow_nil"` // 必传时, nil值是否合法
RequiredConditionGroup [][]RequiredCondition `json:"required_condition_group"` // 满足何种条件,字段必传,不配置则为无差别必传, 组之间是或条件, 满足一组即命中, 组之内为与条件
ValueLimit *ValueLimit `json:"value_limit"` // 数据值的限制
SliceConfig *SliceConfig `json:"slice_config"` // 数组转化的配置
}
// RequiredCondition 定义必传条件
@ -66,3 +67,14 @@ type StringValueLimit struct {
type MapValueLimit struct {
IncludeFieldList []string `json:"include_field_list"` // 必须存在的字段列表
}
// SliceConfig slice的配置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:34 2024/4/30
type SliceConfig struct {
Mode string `json:"slice_mode"` // REAL - 输入直接是slice MARSHAL - json序列化之后的字符串 WITH_SPLIT_CHAR - 使用指定字符串分隔
DisableAutoConvert bool `json:"disable_auto_convert"` // 禁用自动格式转换, 不禁用情况下, ["1","2","3"] 可以转换成 [1,2,3]
SplitChar string `json:"split_char"` // 数组转换的分隔符, 当输入模式是 WITH_SPLIT_CHAR 时生效
}