save code
This commit is contained in:
parent
49a53b5f5c
commit
3b4302677b
@ -16,7 +16,7 @@ type FieldRule struct {
|
|||||||
Path string `json:"path"` // 字段路径
|
Path string `json:"path"` // 字段路径
|
||||||
Type string `json:"type"` // 数据类型, 具体枚举值参见 git.zhangdeman.cn/zhangdeman/consts
|
Type string `json:"type"` // 数据类型, 具体枚举值参见 git.zhangdeman.cn/zhangdeman/consts
|
||||||
DisableRewrite bool `json:"disable_rewrite"` // 验证完相关数据类型之后, 不要重新给字段赋值
|
DisableRewrite bool `json:"disable_rewrite"` // 验证完相关数据类型之后, 不要重新给字段赋值
|
||||||
DefaultValue string `json:"default_value"` // 默认值, 统一以字符串传入, 会转为最终设置的类型
|
DefaultValue any `json:"default_value"` // 默认值, 统一以字符串传入, 会转为最终设置的类型
|
||||||
IsRequired bool `json:"is_required"` // 是否必传
|
IsRequired bool `json:"is_required"` // 是否必传
|
||||||
AllowEmpty bool `json:"allow_empty"` // 必传时空字符串是否合法
|
AllowEmpty bool `json:"allow_empty"` // 必传时空字符串是否合法
|
||||||
AllowZero bool `json:"allow_zero"` // 必传数字, 0 是否合法
|
AllowZero bool `json:"allow_zero"` // 必传数字, 0 是否合法
|
||||||
|
12
run.go
12
run.go
@ -50,6 +50,9 @@ func RunForStruct(sourceData any, ruleList []*define.FieldRule) (map[string]any,
|
|||||||
//
|
//
|
||||||
// Date : 14:13 2024/4/29
|
// Date : 14:13 2024/4/29
|
||||||
func Run(sourceData map[string]any, ruleList []*define.FieldRule) error {
|
func Run(sourceData map[string]any, ruleList []*define.FieldRule) error {
|
||||||
|
for _, itemRule := range ruleList {
|
||||||
|
itemRule.DefaultValue = nil
|
||||||
|
}
|
||||||
byteData, err := RunWithResult(sourceData, ruleList)
|
byteData, err := RunWithResult(sourceData, ruleList)
|
||||||
if nil != err {
|
if nil != err {
|
||||||
return err
|
return err
|
||||||
@ -169,7 +172,14 @@ func formatInputVal(val gjson.Result, rule *define.FieldRule) (any, error) {
|
|||||||
if rule.DisableAutoConvert {
|
if rule.DisableAutoConvert {
|
||||||
inputVal = rule.DefaultValue
|
inputVal = rule.DefaultValue
|
||||||
} else {
|
} else {
|
||||||
inputVal = strings.TrimSpace(rule.DefaultValue)
|
if nil == rule.DefaultValue {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
if strVal, ok := rule.DefaultValue.(string); ok {
|
||||||
|
inputVal = strings.TrimSpace(strVal)
|
||||||
|
} else {
|
||||||
|
inputVal = rule.DefaultValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if inputValStr, ok := inputVal.(string); ok {
|
if inputValStr, ok := inputVal.(string); ok {
|
||||||
|
Loading…
Reference in New Issue
Block a user