首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Go validator.FieldLevel.Field()转换为字符串数组

如何将Go validator.FieldLevel.Field()转换为字符串数组
EN

Stack Overflow用户
提问于 2020-02-12 20:40:47
回答 1查看 602关注 0票数 0

我有一个具有这种结构的复杂对象。

代码语言:javascript
复制
type People struct {
    Objectives    []string  `validate:"required,ValidateCustom" json:"Objectives"`
}

我需要使用gopkg.in/go-playground/validator.v9在枚举中测试列表思维

代码语言:javascript
复制
//ValidateCustom -- ValidateCustom
func ValidateCustom(field validator.FieldLevel) bool {
    switch strings.ToUpper(field.Field().String()) {
    case "emumA":
    case "enumB":
        return true
    default:
        return false
    }
}

这个例子使用了string的概念,但是我如何构建到[]string来迭代呢?

EN

回答 1

Stack Overflow用户

发布于 2020-02-12 20:40:47

我找到了答案。使用切片和接口

代码语言:javascript
复制
//ValidateCustom -- ValidateCustom
func ValidateCustom(field validator.FieldLevel) bool {
  inter := field.Field()
  slice, ok := inter.Interface().([]string)
  if !ok {
      return false
  }
  for _, v := range slice {
      switch strings.ToUpper(v) {
         case "enumA":
         case "enumB":
           return true
         default:
           return false
     }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60188591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档