You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3中用ES6/Lodash批量移除API返回对象键的_id后缀

Vue3 + Vuelidate 接口错误字段映射单行实现

核心实现代码

直接用原生ES6语法即可完成所有末尾带_id的键名重命名,无需额外依赖,放在接口422状态码的回调分支中执行即可:

externalResults.value = Object.fromEntries(Object.entries(err.response.data.details).map(([k, v]) => [k.replace(/_id$/, ''), v]))

如果项目中已经引入Lodash,也可以用更简洁的mapKeys方法实现:

externalResults.value = _.mapKeys(err.response.data.details, (_, key) => key.replace(/_id$/, ''))

逻辑说明

  • 正则/_id$/只会匹配键名末尾的_id字符串,不会误改id_number这类中间包含_id的键名,所有类似state_id/user_id/category_id的字段都会自动映射为本地模型对应的state/user/category属性
  • 转换过程中错误信息数组完全保留,处理后的结构和Vuelidate校验规则的字段路径完全对齐,可以直接被表单校验组件读取渲染
  • 用题目给出的错误返回样例测试,转换后输出结果完全符合预期:
{
  "state": [
    "The state_id field is mandatory."
  ]
}

内容的提问来源于stack exchange,提问作者Luciano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:39:19