数据校验
在model中可用 binding 来对数据进行校验。
Gin对于数据校验使用的是 validator.v8 库,通过 binding:”” 方式进行校验。
type UserModel struct {Email string `form:"email" binding:"email"`Password string `form:"password"`PasswordAgain string `form:"password-again" binding:"eqfield=Password"`}
func UserRegister(context *gin.Context) {var user model.UserModelif err :=context.ShouldBind(&user);err!=nil {println("err ->", err.Error())return}println("email", user.Email, "password", user.Password, "password again", user.PasswordAgain)}
上例中,会对Email检测邮箱是否合法,会对PasswordAgain检测是否与Password的值相同。
如果不合法,会打印错误信息
err -> Key: 'UserModel.Email' Error:Field validation for 'Email' failed on the 'email' tagKey: 'UserModel.PasswordAgain' Error:Field validation for 'PasswordAgain' failed on the 'eqfield' tag
单元测试
可以使用这个工具
testify
可以构造http请求。
