save code
This commit is contained in:
		@ -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 {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user