将数据库参数字段值映射到自定义名称

Posted

技术标签:

【中文标题】将数据库参数字段值映射到自定义名称【英文标题】:Map database params field values to custom names 【发布时间】:2022-01-12 03:18:38 【问题描述】:

我正在尝试处理前端的一系列错误并将它们显示在页面上。我正在获取用户从后端输入的字段并尝试将它们映射出来。但是,后端参数以驼峰形式返回。请看下面:

我想渲染: 电子邮件、最喜欢的运动、gpa 分数的输入字段不可接受

但我看到了

email、favoriteSport、gpaScore 的输入字段不可接受

有什么方法可以将参数名称映射到自定义名称?

这是我的代码:

Array.isArray(errors) ? `The input fields for $errors.map(item => item.param) are unacceptable`

有什么方法可以将参数名称映射到我自己的喜好?

【问题讨论】:

您在后端设置 params 属性的逻辑是什么? 【参考方案1】:
const mapper = (item) => 
  return 
   gpaScore: 'GPA Score',
   favoriteSport: 'Favorite Sport',
  [item.param] || 'Unknown property'
 

return `The input fields for $errors.map(item => mapper(item)).join(', ') are unacceptable`

【讨论】:

【参考方案2】:

在这里您可以使用 react-intl 之类的东西来格式化消息,但一般来说,您需要将编程键转换为用户友好消息的东西

const t = 
  email: "email",
  favoriteSport: "favourite sport",
  gpaScore: "GPA score"


const fields = errors.map(( param ) => t[param] ?? param)

const message = `The input fields for $fields.join(", ") are unacceptable`

【讨论】:

以上是关于将数据库参数字段值映射到自定义名称的主要内容,如果未能解决你的问题,请参考以下文章

如何将 AD FS 组成员身份映射到自定义 AWS Cognito 属性?

使用 RestKit 将 NSManagedObject 实体映射到自定义类

将 FirebaseUser 映射到自定义用户对象

如何使用 RKMappingOperation 将本地 NSDictionary 映射到自定义对象?

javascript 将Datanyze技术映射到自定义类别

如何将单个 JSON 数据保存到自定义字段?