nodejs express验证器单独文件问题

问题描述

我想制作一个注册文件并将其添加到我的 router.post('/register ..');

但我遇到了一个问题。

他向我展示了一个意外的“,”。有人可以帮我吗?

注册.js

'use strict';

const { body,validationResult } = require('express-validator');

const register = 
body('email').trim().isEmail().isLength({ min: 5,max: 100 }),body('url').trim().isLength({ min: 5,max: 100}),async (req,res) => {

    const errors = validationResult(req);

    if (!errors.isEmpty()) {

        const data = errors.mapped();

        res.status(200).json({
            data
        });

    }
}


module.exports = register;

我想制作一个我可以这样写的文件

const register = require('./register.js');

router.post('/register',register);

解决方法

// register.js

'use strict';

const { body,validationResult } = require('express-validator');

module.exports = async (req,res) => {
await body('email').trim().isEmail().isLength({ min: 5,max: 100 }).run(req)
await body('url').trim().isLength({ min: 5,max: 100}).run(req)

const errors = validationResult(req);

if(!errors.isEmpty()) {
   const data = errors.mapped();
   // sends 400 with error data
   return res.status(400).json({data})
  }

 // Process request,generate data and sent to client
 const data = // reference data here
 res.status(200).json({data});
}
// routes.js

'use strict'

const router = require('express').Router()

router.post('/register',require('./register'))

module.exports = router