| 123456789101112131415161718192021222324252627282930313233 |
- package dao
-
- import (
- "fmt"
-
- "git.x2erp.com/qdy/go-base/model/request/configreq"
- "git.x2erp.com/qdy/go-base/util/valid"
- )
-
- // 验证字段值类型
- func ValidateFieldValues(req *configreq.ConfigRequest, metaRecords []ConfigMetaRecord) error {
- // 创建字段类型映射
- fieldTypeMap := make(map[string]string)
- for _, record := range metaRecords {
- fieldTypeMap[record.YamlName] = record.FieldType
- }
-
- // 检查所有参数是否合法
- for _, configInfo := range req.ConfigFields {
- fieldType, exists := fieldTypeMap[configInfo.YamlName]
- if !exists {
- return fmt.Errorf("字段 %s 类型未定义", configInfo.YamlName)
- }
-
- // 使用验证工具验证值
- _, err := valid.ValidateAndConvert(fieldType, configInfo.YamlValue)
- if err != nil {
- return fmt.Errorf("字段 %s 值验证失败: %v", configInfo.YamlName, err)
- }
- }
-
- return nil
- }
|