使用ShouldBindWith

时间:2018-02-22 15:04:09

标签: go

我将HTML表单传递给Go中的控制器。我正在工作boilerplate自学Go,它包括表单验证。相关陈述已经从样板中的原始外观略有改变,如下:

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
  }

err记录为Key: 'SigninForm.Email' Error:Field validation for 'Email' failed on the 'email' tag

特别是,我真的不知道c.ShouldBindWith(&signinForm, binding.Form)做了什么(其他人就我之前的signinForm问题是空的,它已解决了)。

如何正确验证表单字段以便err == nil

1 个答案:

答案 0 :(得分:0)

我能够使用shouldBind

验证表单
bindError := c.ShouldBind(&signinForm, binding.Form)

if bindError != nil {
  log.Println("err: ",err)
  c.JSON(406, gin.H{"message": "Invalid signin form", "form": signinForm})
  return
}