当前位置: 首页 > news >正文

go gin框架ShouldBindJSON不能接受’0‘值

问题

var req struct {ID    uint `form:"id" json:"id" binding:"min=0"`Valid int  `form:"valid" json:"valid" binding:"required"`}// 绑定 JSON 数据if err := c.ShouldBindJSON(&req); err != nil {fmt.Printf("Error binding JSON: %v\n", err) // 打印绑定错误c.JSON(http.StatusBadRequest, gin.H{"code":    400,"message": "参数错误","data":    nil,})return}

当valid为0时就会报错:
Error binding JSON: Key: ‘Valid’ Error:Field validation for ‘Valid’ failed on the ‘required’ tag

实际上当binding标签是required的时候”0“值都不能接受
比如int的0,bool的false,字符串的空串

解决办法

第一种

不用required改用其他标签值比如min=0

第二种

改用指针

var req struct {ID    uint `form:"id" json:"id" binding:"min=0"`Valid *int  `form:"valid" json:"valid" binding:"required"`}
http://www.dtcms.com/a/153133.html

相关文章:

  • 无人机动力核心测评:CKESC STONE 180A-M 电调
  • 声音分离人声和配乐-从头设计数字生命第4课——仙盟创梦IDE
  • 什么是Maven
  • go 的 net 包
  • hive默认的建表格式
  • UE5 Assimp 自用
  • 颠覆传统NAS体验:耘想WinNAS让远程存储如同本地般便捷
  • OpenBMC:BmcWeb login创建session
  • 深入了解递归、堆与栈:C#中的内存管理与函数调用
  • Redis 热 key 和大 key 问题
  • MAC地址攻击和ARP攻击的原理及解决方法
  • 雨晨 27842.1000 Windows 11 金丝雀 企业版 IE Edge 适度 2合1
  • 补题【Darkness+Different Billing+Dice Game】
  • 嵌入式人工智能应用-第三章 opencv操作8 图像特征之 Haar 特征
  • 整平机:精密制造的“隐形守护者”
  • 使用PyTorch如何配置一个简单的GTP
  • Window11系统删除掉你需要TrustedInstaller提供的权限才能对此文件进行更改的文件(图文详解)
  • TensorFlow Keras“安全模式”真的安全吗?绕过 safe_mode 缓解措施,实现任意代码执行
  • Java的进阶学习
  • 理想MindVLA学习解读
  • 豆包桌面版 1.47.4 可做浏览器,免安装绿色版
  • QT创建软件登录界面(14)
  • 【MQ篇】初识RabbitMQ保证消息可靠性
  • Freertos----中断管理
  • Visual Studio Code 使用tab键往左和往右缩进内容
  • 水域陆地两相宜,便携漏电探测仪
  • 大数据驱动公共交通系统的智慧化革命
  • React19源码阅读之commitRoot
  • 架构-系统工程与信息系统基础
  • 提升内容创作效率:AI原创文章批量生成工具优势