I am passing HTML form to data to a controller in Go. I am working off boilerplate to teach myself Go, and it includes form validation. The relevant statement, already changed somewhat from its original appearance in the boilerplate, is below:
if err := c.ShouldBindWith(&signinForm, binding.Form); err != nil {
log.Println("err: ",err)
c.JSON(406, gin.H{"message": "Invalid signin form", "form": signinForm})
c.Abort()
return
}
The err
logs as Key: 'SigninForm.Email' Error:Field validation for 'Email' failed on the 'email' tag
.
In particular, I don't really know what c.ShouldBindWith(&signinForm, binding.Form)
does (it was suggested by someone else in regards to my previous issue with signinForm
being empty, which it solved).
How do I properly validate the form fields so that err == nil
?