express-image-validator
Version:
Validator of various image parameters in Express.js applications
30 lines (29 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateImage = validateImage;
const normalizeImageField_1 = require("../utils/normalizeImageField");
const runValidators_1 = require("../core/runValidators");
const validators_1 = require("../validators");
/**
* Middleware for validating uploaded images in `req.files`.
* @param { FieldSet } field Single field name, field object, or array of them to validate.
* @returns { RequestHandler } Express middleware function that validates uploaded image fields.
*/
/**
* Express middleware to validate multiple image fields.
* @param { FieldSet } field Single field or array of field schemas to validate.
* @returns { RequestHandler } Express middleware function.
*/
function validateImage(field) {
const fields = (0, normalizeImageField_1.normalizeImageField)(field);
return async (req, res, next) => {
for (let i = 0; i < fields.length; i++) {
const current = fields[i];
await (0, runValidators_1.runValidators)(req, current.name, current.options, {
fieldLevel: [validators_1.validateRequired, validators_1.validateLimit],
fileLevel: [validators_1.validateMimeType, validators_1.validateSize, validators_1.validateAspectRatio],
}, true);
}
return next();
};
}