ApiV3FormValidator.js 842 B

123456789101112131415161718192021222324252627282930
  1. const logger = require('@alias/logger')('growi:middlewares:ApiV3FormValidator');
  2. const { validationResult } = require('express-validator/check');
  3. const ErrorV3 = require('../models/vo/error-apiv3');
  4. class ApiV3FormValidator {
  5. constructor(crowi) {
  6. return (req, res, next) => {
  7. logger.debug('req.query', req.query);
  8. logger.debug('req.params', req.params);
  9. logger.debug('req.body', req.body);
  10. const errObjArray = validationResult(req);
  11. if (errObjArray.isEmpty()) {
  12. return next();
  13. }
  14. const errs = errObjArray.array().map((err) => {
  15. logger.error(`${err.location}.${err.param}: ${err.value} - ${err.msg}`);
  16. return new ErrorV3(`${err.param}: ${err.msg}`, 'validation_failed');
  17. });
  18. return res.apiv3Err(errs);
  19. };
  20. }
  21. }
  22. module.exports = ApiV3FormValidator;