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

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.xdnf.cn/news/1760.html

相关文章:

  • js 的call 和apply方法用处
  • NeRF:原理 + 实现 + 实践全流程配置+数据集测试【Ubuntu20.04 】【2025最新版】
  • 3D模型文件格式之《glb/gltf格式介绍》
  • PostgreSQL 中的权限视图
  • Qt 中线程使用
  • 国产操作系统-招标公司专家随机抽选系统————仙盟创梦IDE开发
  • 以运营为核心的智能劳动力管理系统,破解连锁零售、制造业排班难题
  • 2020-06-23 暑期学习日更计划(机器学习入门之路(资源汇总)+概率论)
  • Android插拔U盘导致黑屏问题排查
  • 陪诊陪检系统源码,陪诊小程序,陪诊APP,陪诊服务,家政上门系统,居家护理陪护源码,医护小程序
  • 使用正确的 JVM 功能加速现有部署
  • 文本溢出隐藏显示省略号
  • 【办公类-89-02】20250424会议记录模版WORD自动添加空格补全下划线
  • Windows 强制删除文件夹/文件(删除提示“你需要来自 Administrators 的权限才能对此文件夹进行更改”)
  • Linux电源管理(四),设备的Runtime Power Management(RPM)
  • Oracle锁的概念和类型
  • SiamMask原理详解:从SiamFC到SiamRPN++,再到多任务分支设计
  • 数值数据标准化:机器学习中的关键预处理技术
  • 数据分析之 商品价格分层之添加价格带
  • 项目管理、项目集管理与项目组合管理的区别与管理策略解析
  • AI驱动的售后服务软件:三大核心功能破解企业服务难题
  • SQL实战:01之行转列实现
  • 【学习笔记】文件包含漏洞--相关习题
  • mybatis log convert使用
  • 手动实现legend 与 echarts图交互 通过js事件实现图标某项的高亮 显示与隐藏
  • Yocto meta-toradex-security layer 创建独立数据分区
  • HTML邮件背景图兼容 Outlook
  • 避免事件“穿透”——Vue 中事件冒泡的理解与解决方案
  • AD16如何设置布线规则
  • JAVA聚焦OutOfMemoryError 异常