Gin(四):表单提交校验和模型绑定

本文介绍了使用Gin框架处理Web表单数据的方法,包括接受POST请求的表单参数,模型绑定以简化参数处理,以及利用Gin内置的Validator库进行数据校验。此外,还讨论了如何使用Log和重定向来改进响应状态码和日志记录。
摘要由CSDN通过智能技术生成

上一个章节中已经开始逐渐搭建了一个 web 页面,现在我们开始逐步完善页面上的功能,首先要完成的是登录和注册功能。

?接受表单数据

注册页面的 HTML 元素不在详细写出,具体页面代码可以直接参考Github 上代码。

页面完成后布局:

注册页面有三个输入框,分别为 email ,passwordpassword again

完善后端 Gin 代码。我们在 initRouteruserGroup 中编写新的接口。

userRouter.POST("/register", handler.UserRegister)

编写完新的接口就要开始编写 Handler

func UserRegister(context *gin.Context) {
   
	email := context.PostForm("email")
	password := context.DefaultPostForm("password", "Wa123456")
	passwordAgain := context.DefaultPostForm("password-again", "Wa123456")
	println("email", email, "password", password, "password again", passwordAgain)
}

UserRegister 方法中采用新的方式来接受 Post 请求提交的表单参数,PostFormDefaultPostFormPostForm 直接接受参数,而 DefaultPostForm 可以设置一个默认值,如果前端没有进行传值,那么我们可以设置默认值,如上面的代码,如果前端没有将密码传输过来我们可以设置一个默认密码。

当我们运行并且输入的时候,在控制台上可以清楚的看到我们在表单上的输入。

当我们项目功能完善的时候,就可以完善我们的单元测试。

此时的单元测试交之前有点复杂。

首先我们要构造一个结构,该结构是为了帮助我们将我们要提交的信息存放到表单中,同时要指定请求头信息。

func TestUserPostForm(t *testing.T) {
   
	value := url.Values{
   }
	value
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值