【问题标题】:Express Validator: How parameters passed to validator functionsExpress Validator:参数如何传递给验证器函数
【发布时间】:2018-04-19 07:33:56
【问题描述】:

我很好奇参数是如何传递给验证器中间件的,摘自express-validator,例如,programming_language被传递给check()函数。

const { check, oneOf, validationResult } = require('express-validator/check');
app.post('/start-freelancing', oneOf([
  check('programming_language').isIn(['javascript', 'java', 'php']),
  check('design_tools').isIn(['photoshop', 'gimp'])
]), (req, res, next) => {
  try {
    validationResult(req).throw();

    // yay! we're good to start selling our skilled services :)))
    res.json(...);
  } catch (err) {
    // Oh noes. This user doesn't have enough skills for this...
    res.status(422).json(...);
  }
});

【问题讨论】:

    标签: node.js validation express express-validator


    【解决方案1】:
    check('programming_language')
    

    'programming_language' 是一个请求参数。无需单独传递任何东西。它从

    req.body.programming_language
    req.cookies.programming_language
    req.headers.programming_language
    req.params.programming_language
    req.query.programming_language
    

    “design_tools”也是如此

    req.body.design_tools
    req.cookies.design_tools
    req.headers.design_tools
    req.params.design_tools
    req.query.design_tools
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      相关资源
      最近更新 更多