Node.js,Multer。视频文件已保存/上载,但验证程序给出了一个错误,即视频字段不能保持为空

Node.js,Multer。视频文件已保存/上载,但验证程序给出了一个错误,即视频字段不能保持为空,node.js,mongodb,multer,Node.js,Mongodb,Multer,我试图上传一个视频使用multer,我有一个表单和一切,但当我点击创建,验证器给出了一个错误,然而,文件保存在我的目录,好像验证成功。 我正在使用mongoDB作为数据库 这是验证器 const{check}=require('express-validator/check'); const Video=require('app/models/VideoModel'); const path=require('path'); 类videoValidator扩展了验证程序{ 句柄(){ 返回[

我试图上传一个视频使用multer,我有一个表单和一切,但当我点击创建,验证器给出了一个错误,然而,文件保存在我的目录,好像验证成功。 我正在使用mongoDB作为数据库

这是验证器

const{check}=require('express-validator/check');
const Video=require('app/models/VideoModel');
const path=require('path');
类videoValidator扩展了验证程序{
句柄(){
返回[
勾选(‘标题’)
.isLength({min:5})
.withMessage('标题至少应为5个字符'),
勾选(‘艺术家’)
.not().isEmpty()
.withMessage('艺术家字段不能为空'),
检查('视频')
.custom(异步(值,{req})=>{
if(req.query.\u method=='put'&&value==未定义)返回;
如果(!值)
抛出新错误(“视频字段不能保持为空”);
让fileExt=['.webm'、'.ogg'、'.mp4'、'.avi'];
如果(!fileExt.includes(path.extname(value)))
抛出新错误('不支持文件扩展名')
}),
}
slug(标题){
返回标题。替换(/([^۰-۹-آ-یa-z0-9]|-)+/g,“-”)
}
}

module.exports=new videoValidator();
我刚刚意识到我忘了添加convertFileToField中间件。 现在很好用

句柄(请求、恢复、下一个){
如果(!req.file)
req.body.videos=未定义;
其他的
req.body.videos=req.file.filename;
next();
}