标签:Category err Title 前端 验证 video gin validate
记录一次使用validate,并将验证错误结果返回给前端
1.数据库模型
//视频链接 数据库模型字段
//后续使用到的结构体 map
type Video struct {
gorm.Model
ID string ` gorm:";primary_key"`
Category string `json:"Category" gorm:";primary_key " validate:"required" ` //视频分类
Title string `json:"Title" gorm:"" validate:"required" ` //视频的标题
HeadImg string `json:"HeadImg" validate:"required" ` //视频封面图片的存储地址
Content string `json:"Content" gorm:"" validate:"required" ` //视频内容描述
CreatedAt time.Time
UpdatedAt time.Time
}
//获取参数
//获取前端传过来
Category := c.PostForm("Category")
Title := c.PostForm("Title")
HeadImg := c.PostForm("HeadImg")
Content := c.PostForm("Content")
//数据验证
video := &model.Video{
Category: Category, //传入的文章分类ID
Title: Title, //传入的文章标题
HeadImg: HeadImg, //传入文章的图片
Content: Content, //传入文章的内容
}
validate := validator.New()
err := validate.Struct(video)
//err := //传入绑定指针
if err != nil {
c.JSON(200, gin.H{
"data": gin.H{
"err":fmt.Sprint(err),
},
"meta": gin.H{
"msg": "数据验证错误,请检查文章信息",
"status": 400,
},
})
return
}
// 获取登录用户(通过token,存在上下文中)
// 插入数据
if err := common.DB.Create(&video).Error; err != nil {
c.JSON(200, gin.H{
"data": gin.H{
"err": err,
},
"meta": gin.H{
"msg": "数据写入数据库失败",
"status": 400,
}})
return
}
// 成功
c.JSON(200, gin.H{
"data": gin.H{
"video": video,
},
"meta": gin.H{
"msg": "创建视频链接成功",
"status": 200,
},
})
}
捕捉错误返回给前端
validate := validator.New()
err := validate.Struct(video)
//err := //传入绑定指针
if err != nil {
c.JSON(200, gin.H{
"data": gin.H{
"err":fmt.Sprint(err),
},
"meta": gin.H{
"msg": "数据验证错误,请检查文章信息",
"status": 400,
},
})
return
}
标签:Category,err,Title,前端,验证,video,gin,validate 来源: https://www.cnblogs.com/chengqiang521/p/15623443.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。