英文:
How to avoid duplicate elements in slice in json validation?
问题
尽管我不是一名专业的Golang开发者,但我正在尝试在JSON验证期间从我的结构体数组中限制重复元素。
type Test struct {
Test []*string `json:"test" validate:"required,min=1,max=10,excludes=duplicate"`
}
我正在使用excludes
参数,但它对我没有起作用。
英文:
Although I am not a pro-Golang developer, I am trying to restrict the duplicate elements from my array in struct during JSON validation.
type Test struct {
Test []*string `json:"test" validate:"required,min=1,max=10,excludes=duplicate"`
}
I am using excludes parameter but it's not working for me.
答案1
得分: 5
对于数组和切片,你应该使用unique
标签。
type Test struct {
Test []*string `json:"test" validate:"required,min=1,max=10,unique"`
}
查看文档:
对于数组和切片,
unique
将确保没有重复项。
https://pkg.go.dev/github.com/go-playground/validator#hdr-Unique
英文:
For array & slices you should use the unique
tag.
type Test struct {
Test []*string `json:"test" validate:"required,min=1,max=10,unique"`
}
Checking the docs:
> For arrays & slices, unique will ensure that there are no duplicates
https://pkg.go.dev/github.com/go-playground/validator#hdr-Unique
答案2
得分: 0
这是一个问题:https://github.com/golang/go/issues/48298
它将在Go标准库中添加一个名为"DisallowDuplicateFields"的JSON选项。
英文:
There's this issue: https://github.com/golang/go/issues/48298
Which will add a JSON "DisallowDuplicateFields" to the Go standard library.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论