Я использую валидатор express для проверки, в моем коде другие текстовые поля, такие как имя и адрес электронной почты, проверяются правильно, но проблема связана с полем входного файла. Я хочу проверить пустой файл. Я новенький Лернер из express, помогите мне кем-нибудь. мой код ниже:
app. js
const express = require("express");
const path = require("path");
const bodyParser = require("body-parser");
const { check, validationResult } = require("express-validator");
const multer = require("multer");
var upload = multer({ dest: 'uploads/' })
const app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.get("/", (req, res) => {
res.render("./form");
});
app.post("/submitForm", upload.single('avatar'), [
check('name')
.notEmpty().withMessage("Name is required"),
check('email')
.notEmpty().withMessage("Email are required")
.isEmail().withMessage("Plese enter a valid email address"),
check('avatar')
.notEmpty().withMessage("Profile Img is required")
], (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
console.log(errors);
res.render("./form", {
errors: errors.array()
})
}
})
app.listen(3000, (req, res) => {
console.log("port listen on 3000");
})
Код работает для поля имени и адреса электронной почты, однако независимо от того, выберу ли я изображение или нет - я все равно получаю подтверждение ошибка об этом. Как я могу проверить ввод файла? Я просто хочу, чтобы это было необходимо.