Arrays 如何将Go validator.FieldLevel.Field()转换为字符串数组
我有一个具有这种结构的复杂对象Arrays 如何将Go validator.FieldLevel.Field()转换为字符串数组,arrays,validation,go,go-playground,Arrays,Validation,Go,Go Playground,我有一个具有这种结构的复杂对象 类型人员结构{ 目标[]字符串`validate:“必需,ValidateCustom”json:“目标”` } 我需要使用gopkg.in/go playway/validator.v9,在枚举中测试列表思维: //ValidateCustom——ValidateCustom func ValidateCustom(字段验证程序.FieldLevel)bool{ 开关strings.ToUpper(field.field().String()){ “emumA
类型人员结构{
目标[]字符串`validate:“必需,ValidateCustom”json:“目标”`
}
我需要使用gopkg.in/go playway/validator.v9
,在枚举中测试列表思维:
//ValidateCustom——ValidateCustom
func ValidateCustom(字段验证程序.FieldLevel)bool{
开关strings.ToUpper(field.field().String()){
“emumA”案:
案例“enumB”:
返回真值
违约:
返回错误
}
}
本例使用了字符串的概念,但如何构建[]字符串进行迭代?我找到了答案。。。使用切片和接口
//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
}
}
什么是
验证器
?它是针对实体的gopkg验证器。。。gopkg.in/go-playder/validator.v9