“Key: ‘ReqXXXXCreate.Name‘ Error:Field validation for ‘Name‘ failed on the ‘required‘ tag

“Key: ‘ReqXXXXCreate.Name‘ Error:Field validation for ‘Name‘ failed on the ‘required‘ tag,第1张

报错信息

golang gin框架提交数据验证,使用 gin.ShouldBind(&req) 报错如下

"Key: 'ReqXXXXCreate.Name' Error:Field validation for 'Name' failed on the 'required' tag
代码
type ReqXXXCreate struct {
	Name string `json:"name" binding:"required"` // 名称
}

req := dto.ReqXXXCreate{}
if err := ctx.ShouldBind(&req); err != nil {
	fmt.Println("err = ",err)
	return
}

原因

如果是使用 raw-body发送JSON数据不会报这个错误,但直接使用form post就会报错.
原因是因为结构体定义的时候只定义了JSON名字,没有定义form,正确的定义应该是加入form:"name"

type ReqXXXCreate struct {
	Name string `form:"name" json:"name" binding:"required"` // 名称
}

否则只能raw-body的POST请求

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/995939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存