Is there an easy way to list / iterate through all post values using Gin Gonic? (Go)
I have tried:
c.Request.ParseForm()
for key, value := range c.Request.PostForm {
log.Printf("POST %v = %v",key,value)
}
But this shows no values, however when I test the values directly from context:
log.Printf("POST email = %v", c.PostForm("email")
It outputs fine.
What I'm trying to do is to map all post values into a gin.H{} context, so that upon failure I can pass the posted values back into the .HTML template context and have them prefilled (along with my error message). Best I've found is manually wiring each POST value to the gin.H{} map, but for a large form these seems verbose and not ideal.
Issue here was the form (not shown) was a multipart form. ParseForm
does not parse multipart forms, and thus, no data. The fix is to call ParseMultipartForm
instead. Thanks to @phoet for pointing at the method in Gin Gonic for PostForm (which calls ParseMultipartForm
for you, and does so automatically), which helped lead me to the answer.