快速验证器检查cookie中的字段而不是正文

问题描述 投票:0回答:1

我有以下验证器:

const validationSchema = checkSchema({
    'applicant.name': {
        exists: true,
        errorMessage: 'Name field is required',
    },
});

以及以下路线的起点(其余无关):

userGeneralApplicant.post("/application/apply",
    upload.single('cv'),
    validationSchema,
    (req, res, next) => {

来自表单的数据保存在 req.body.applicant 中,因此申请人内部应该有一个属性名称。当用户不插入姓名时,申请人只是一个空对象。

但是,无论是否有名称值,验证都会重新调整以下错误:

errors: [
    {
      type: 'field',
      value: undefined,
      msg: 'Name field is required',
      path: 'applicant.name',
      location: 'cookies'
    }
  ]

我该怎么办?因为我确信我应该在验证之前调用 multer。

javascript node.js express multer express-validator
1个回答
0
投票

此处不涉及 multer,因为它对文件执行所有操作并启用内存中文件存储。

使用

check()
- 因为它专用于验证所有请求组件并支持验证规则链接,您正在使用
checkSchema()
来根据提供的架构进行验证,因此它可能不会提供预期的输出

© www.soinside.com 2019 - 2024. All rights reserved.