49 lines
925 B
Go
49 lines
925 B
Go
// Package validate ...
|
|
//
|
|
// Description : validate ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2025-03-18 17:36
|
|
package validate
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"git.zhangdeman.cn/zhangdeman/consts"
|
|
"testing"
|
|
)
|
|
|
|
// TestRun_Simple_Data 无嵌套、无复杂数据类型的处理
|
|
func TestRun_Simple_Data(t *testing.T) {
|
|
testMap := map[string]any{
|
|
"age": 18,
|
|
"height": 179.5,
|
|
"name": "baicha",
|
|
}
|
|
sourceByteData, _ := json.Marshal(testMap)
|
|
fieldList := []StructField{
|
|
{
|
|
JsonTag: "user_age",
|
|
Type: consts.DataTypeInt,
|
|
Required: false,
|
|
RuleList: []Rule{
|
|
{
|
|
Tag: "min",
|
|
Args: []string{"1"},
|
|
},
|
|
{
|
|
Tag: "max",
|
|
Args: []string{"20"},
|
|
},
|
|
},
|
|
DefaultValue: "",
|
|
SourcePath: "age",
|
|
TargetPath: "user_age",
|
|
Errmsg: "年龄必须在[1,20]之间",
|
|
},
|
|
}
|
|
_, err := Run(sourceByteData, fieldList)
|
|
fmt.Println(err)
|
|
}
|