1 回答

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
看起來您正在嘗試排除整個(gè)字符串,因此excludes驗(yàn)證會(huì)比excludesrune. Go 中的“符文”是一個(gè) Unicode 代碼點(diǎn),您可能更習(xí)慣于僅調(diào)用“字符”,因此您的書面驗(yàn)證可能會(huì)導(dǎo)致任何包含字母的字符串失敗o。
試試這個(gè):
Name string `bson:"name" json:"name" binding:"required,excludes=organization,excludes=forbidden,ne=foo,ne=bar"`
編輯:如評(píng)論中所述,這不符合您禁止使用大寫版本的被阻止字符串的要求。據(jù)我所知,您需要使用自定義驗(yàn)證器執(zhí)行此操作:
func caseInsensitiveExcludes(fl validator.FieldLevel) bool {
lowerValue := strings.ToLower(fl.Field().String())
if strings.Contains(lowerValue, fl.Param()) {
return false
}
return true
}
validate.RegisterValidation("iexcludes", caseInsensitiveExcludes)
然后試試這個(gè)字段定義:
Name string `bson:"name" json:"name" binding:"required,iexcludes=organization,iexcludes=forbidden,ne=foo,ne=bar"`
- 1 回答
- 0 關(guān)注
- 116 瀏覽
添加回答
舉報(bào)