优化数据类型验证
This commit is contained in:
8
run.go
8
run.go
@ -13,7 +13,6 @@ import (
|
||||
"fmt"
|
||||
"git.zhangdeman.cn/gateway/validator/define"
|
||||
"git.zhangdeman.cn/zhangdeman/consts"
|
||||
"git.zhangdeman.cn/zhangdeman/consts/enums"
|
||||
"github.com/tidwall/gjson"
|
||||
"github.com/tidwall/sjson"
|
||||
"strings"
|
||||
@ -127,7 +126,7 @@ func checkRuleConditionRequiredRule(sourceData []byte, rule *define.FieldRule) {
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 15:59 2024/4/29
|
||||
func getDataStatus(val gjson.Result, dataType enums.DataType) string {
|
||||
func getDataStatus(val gjson.Result, dataType consts.DataType) string {
|
||||
if !val.Exists() {
|
||||
return consts.DataStatusNotFound
|
||||
}
|
||||
@ -247,7 +246,10 @@ func validate(sourceData []byte, val gjson.Result, rule *define.FieldRule) (any,
|
||||
//
|
||||
// Date : 14:43 2024/4/29
|
||||
func handleData(inputVal any, rule *define.FieldRule) (any, error) {
|
||||
rule.Type = enums.DataType(strings.ToLower(rule.Type.String()))
|
||||
rule.Type = consts.DataType(strings.ToLower(rule.Type.String()))
|
||||
if !rule.Type.IsValid() {
|
||||
return nil, fmt.Errorf("%v : data type %v is invalid", rule.Path, rule.Type.String())
|
||||
}
|
||||
// 处理真实的map和序列化之后的map
|
||||
if strings.HasPrefix(rule.Type.String(), "map") {
|
||||
if strings.HasSuffix(rule.Type.String(), "_marshal") {
|
||||
|
Reference in New Issue
Block a user