base_controller.go 946 B

12345678910111213141516171819202122232425262728293031323334
  1. package controllers
  2. import (
  3. vd "github.com/bytedance/go-tagexpr/v2/validator"
  4. )
  5. func Validate(reqData interface{}) error {
  6. //valueType := reflect.ValueOf(reqData).Elem().Type() // 获取结构体类型
  7. //newStruct := reflect.New(valueType).Interface() // 创建新的结构体
  8. //
  9. //v := validation.Validation{}
  10. //status, err := v.Valid(newStruct)
  11. //if err != nil {
  12. // return err
  13. //}
  14. //if !status {
  15. // for _, err := range v.Errors {
  16. // // 获取 newStruct 指向的真实结构体的类型
  17. // structType := reflect.Indirect(reflect.ValueOf(newStruct)).Type()
  18. // field, _ := structType.FieldByName(err.Field)
  19. // alias := field.Tag.Get("alias")
  20. // message := strings.Replace(err.Message, err.Field, alias, 1)
  21. // return errors.New(message)
  22. // }
  23. //}
  24. //
  25. //reflect.ValueOf(reqData).Elem().Set(reflect.ValueOf(newStruct).Elem())
  26. //return nil
  27. if err := vd.Validate(reqData); err != nil {
  28. return err
  29. }
  30. return nil
  31. }