12345678910111213141516171819202122232425262728293031323334 |
- package controllers
- import (
- vd "github.com/bytedance/go-tagexpr/v2/validator"
- )
- func Validate(reqData interface{}) error {
- //valueType := reflect.ValueOf(reqData).Elem().Type() // 获取结构体类型
- //newStruct := reflect.New(valueType).Interface() // 创建新的结构体
- //
- //v := validation.Validation{}
- //status, err := v.Valid(newStruct)
- //if err != nil {
- // return err
- //}
- //if !status {
- // for _, err := range v.Errors {
- // // 获取 newStruct 指向的真实结构体的类型
- // structType := reflect.Indirect(reflect.ValueOf(newStruct)).Type()
- // field, _ := structType.FieldByName(err.Field)
- // alias := field.Tag.Get("alias")
- // message := strings.Replace(err.Message, err.Field, alias, 1)
- // return errors.New(message)
- // }
- //}
- //
- //reflect.ValueOf(reqData).Elem().Set(reflect.ValueOf(newStruct).Elem())
- //return nil
- if err := vd.Validate(reqData); err != nil {
- return err
- }
- return nil
- }
|