迭代所有 PostForm 值 Gin Gonic

Bad*_*ate 4 go go-gin

有没有一种简单的方法可以使用 Gin Gonic 列出/迭代所有帖子值?(去)

我努力了:

c.Request.ParseForm()
for key, value := range c.Request.PostForm {
    log.Printf("POST %v = %v",key,value)
}
Run Code Online (Sandbox Code Playgroud)

但这没有显示任何值,但是当我直接从上下文测试值时:

log.Printf("POST email = %v", c.PostForm("email")
Run Code Online (Sandbox Code Playgroud)

它输出很好。

我想做的是将所有发布值映射到 gin.H{} 上下文中,以便在失败时我可以将发布的值传递回 .HTML 模板上下文并预先填充它们(以及我的错误消息) 。我发现的最好方法是将每个 POST 值手动连接到 gin.H{} 映射,但对于大型表单来说,这些似乎很冗长且不理想。

小智 5

我们还需要类似 @BadPirate 描述的东西,所以如果有人需要杜松子酒 1.6.2

func register(c *gin.Context){
    c.MultipartForm()
    for key, value := range c.Request.PostForm {
        log.Printf("%v = %v \n",key,value)
    }
}
Run Code Online (Sandbox Code Playgroud)

感谢@BadPirate 和@phoet 提供的信息。