Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

182
Views
Multer Evitar la carga si falta uno de los campos

Estoy usando multer para cargar documentos.

Así que tengo 3 campos para que los usuarios carguen los archivos.

También estoy usando express-validator para validar los campos (ya sea que estén vacíos o no).

 Upload = multer({ storage: fileStorage, limits: { fileSize: 5 * 1024 * 1024 }, fileFilter: function (req, file, callback) { var ext = path.extname(file.originalname); if (ext !== '.png' && ext !== '.jpg' && ext !== '.jpeg' && ext !== ".pdf") { return callback(new Error('PDF OR images allowed only')) } callback(null, true) }, }).fields([ { name: 'passport', maxCount: 1 }, { name: 'Certificate', maxCount: 1 }, { name: 'personalPhoto', maxCount: 1 } ])

al dejar un campo vacío, el check() express-validator arroja un error que es excelente. pero multer sigue subiendo el resto de los archivos.

así es como estoy manejando el check() después de la carga.

 await check('personalPhoto').custom((value, { req }) => { if (!req.files['personalPhoto']) throw new Error("it is required"); return true; }).run(req)

¡Intenté verificar si req.files[file] existe en el fileFilter y arrojé el error en la devolución de llamada, pero check() sigue arrojando errores para los 3 archivos cuando compruebo solo 1 archivo!

 if(req.files['personalPhoto'] === undefined){ return callback(new Error('no')) }

¿Hay alguna forma de manejar este problema? ya que no puedes usar el check() antes de multer?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!