优化数据类型验证

This commit is contained in:
2024-11-25 14:54:36 +08:00
parent bc555966fa
commit da9aa14f0e
5 changed files with 17 additions and 11 deletions

8
run.go
View File

@ -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") {