gin框架和xorm踩坑记录

记录一下实操过程中遇到的问题或者疑惑,也有一些是需要注意的点,既然花了时间解决就值得记录下来

 

  • required认为值为0不通过校验

    • 背景:
      gin框架中一般用通过定义结构体中的字段Tag标签来设置参数校验规则和解析字段名,转json相关信息,其中字段是否为必须项规则写在字段Tag:`binding:"required"`
    • 场景描述:
      我定义了一个VO结构体用来绑定前端参数,其中有个字段Status int `binding:"required, eq=0|eq=1"`,我希望绑定的时候验证Status不为空,且值为0或1
      但是实际上Status为1的时候通过校验,为0的时候却返回了error:Error:Field validation for 'Status' failed on the 'required' tag即Status字段绑定时不满足required校验
      实际处理过程没这么清晰,但最后查到了文档`binding:"required"`会认为0是空值而不通过校验
    • 解决方案:
      把整数字段改成整数指针类型,指针没有默认值0,也就没有这个问题了,注意取值加*,设值加&总之记得他是指针就好了
    • 结论:
      对数字类型的字段使用gin的校验
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值