go - 无法使用validator.v2 golang进行验证

标签 go go-gin

我在用gin验证程序验证字段时遇到麻烦。
我每次在struct上添加验证时都会返回的错误
我在这里做错了什么
图式

package entity

type User struct {
    Username         string `json:"username" binding:"min=2,required"`
    Email            string `json:"email" binding:"required,email" validate:"email"`
    Password         string `json:"password" binding:"min=8,max=32,alphanum"`
    ConfirmPassword  string `json:"confirm_password" binding:"eqfield=Password,required"`
}

我正在尝试添加验证中间件
package validations

import (
    "github.com/bihire/ikaze_server_app/entity"
    "net/http"
    "github.com/gin-gonic/gin"
    "gopkg.in/validator.v2"
)


func SignupValidator(ctx *gin.Context) {
    var user entity.User
    if err := validator.Validate(&user); err != nil {
        ctx.JSON(http.StatusBadRequest, gin.H{
            "error": err.Error(),
        })
    }
}
我回到每个地方的错误,我在架构上添加了验证
{
    "error": "Email: unknown tag"
}{
    "username": "this the first video description",
    "email": "h",
    "password": "password",
    "confirm_password": "password"
}

最佳答案

当前软件包中没有“电子邮件”验证程序:https://github.com/go-validator/validator/tree/v2
https://github.com/go-playground/validator中有一个“电子邮件”验证器

关于go - 无法使用validator.v2 golang进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62708313/

相关文章:

go - binary.Read 慢吗?

json - 为什么在 Go 中来自 REST 端点的 JSON 中到处都是 "\n"?

validation - gin-gonic 中的多部分文件上传验证

api - 如何在 golang 中使用 gin-gonic 服务器编写流 API?试过 c.Stream 没用

go - 网络/网址包 : strip query from url

go - 如何在go中隐式转换类型别名?

go - 如何获得下一个IP地址?

go - 未加载时如何忽略JSON输出中的关联字段?

rest - 如何避免 Golang 服务器 (Gin Gonic) 在 INTERNAL_ERROR 上崩溃

go - 在Golang Gin 中传递外键