Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

validate_field_values.go 862B

123456789101112131415161718192021222324252627282930313233
  1. package dao
  2. import (
  3. "fmt"
  4. "git.x2erp.com/qdy/go-base/model/request/configreq"
  5. "git.x2erp.com/qdy/go-base/util/valid"
  6. )
  7. // 验证字段值类型
  8. func ValidateFieldValues(req *configreq.ConfigRequest, metaRecords []ConfigMetaRecord) error {
  9. // 创建字段类型映射
  10. fieldTypeMap := make(map[string]string)
  11. for _, record := range metaRecords {
  12. fieldTypeMap[record.YamlName] = record.FieldType
  13. }
  14. // 检查所有参数是否合法
  15. for _, configInfo := range req.ConfigFields {
  16. fieldType, exists := fieldTypeMap[configInfo.YamlName]
  17. if !exists {
  18. return fmt.Errorf("字段 %s 类型未定义", configInfo.YamlName)
  19. }
  20. // 使用验证工具验证值
  21. _, err := valid.ValidateAndConvert(fieldType, configInfo.YamlValue)
  22. if err != nil {
  23. return fmt.Errorf("字段 %s 值验证失败: %v", configInfo.YamlName, err)
  24. }
  25. }
  26. return nil
  27. }