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 }