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