【问题标题】:Getting [eslint] 'value' is assigned a value but never used when using joi validation for vue.js fullstack application获取 [eslint] 'value' 被分配了一个值,但在对 vue.js 全栈应用程序使用 joi 验证时从未使用过
【发布时间】:2019-03-24 13:25:06
【问题描述】:

我正在尝试使用 Joi 验证器在请求有效负载到达我的控制器之前为其添加验证。我根据 joi 文档做所有事情,但仍然出现此错误,导致我的 nodemon 服务器崩溃-

错误 - [eslint] 'value' 被分配了一个值,但从未使用过。

`

const joi = require('joi')    
module.exports = {
  register (req, res, next) {
    const schema = {
      email: joi.string().email(),
      password: joi.string().password()
    }
    const { error, value } = joi.validate(req.body, schema)

    if (error) {
      switch (error.details[0].context.key) {
        case 'email':
          res.status(400).send({
            error: 'You must provide a valid email address'
          })
          break
        case 'password':
          res.status(400).send({
            error: 'You must provide a valid password'
          })
          break
        default:
          res.status(400).send({
            error: 'Invalid information provided'
          })
      }
    } else {
      next()
    }
  }
}

`

请帮忙解决一下这个问题?

【问题讨论】:

  • 我不知道 joi,但你可以试试这个: const { error, _value } = joi.validate(req.body, schema)
  • 它不工作:(
  • 我猜 req.body 包含一些你写的代码,对吧?如果是这样,请尝试在该代码中查找名为“value”的未使用变量,并将其重命名为“_value”

标签: javascript node.js validation eslint joi


【解决方案1】:

您可能有一个 eslint 设置以在某些规则下导致错误。也就是说,您设置的错误规则是“no-unused-vars”。您正在解构验证方法,并剥离 errorvalue 键,同时还自己创建变量。但是,您实际上并没有在任何地方使用value。你为什么不试着做: const { error } = joi.validate(req.body, schema)

这应该会停止 eslint 错误。

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2021-12-04
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 2021-04-13
    • 2019-05-08
    • 2020-05-04
    • 2023-03-11
    相关资源
    最近更新 更多