@lottie
To use the express-validator library with the Koa framework, you can create a middleware function that integrates the validation functionality. Here is an example implementation:
1
|
npm install koa koa-router express-validator |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
const Koa = require('koa'); const Router = require('koa-router'); const { body, validationResult } = require('express-validator'); const app = new Koa(); const router = new Router(); // Define a route with validation router.post('/api/user', [ body('username').isLength({ min: 5 }).withMessage('Username must be at least 5 characters'), body('email').isEmail().withMessage('Invalid email address'), ], async (ctx) => { const errors = validationResult(ctx); if (!errors.isEmpty()) { ctx.status = 400; ctx.body = { errors: errors.array() }; } else { // Process the request // ... } }); app.use(router.routes()); app.listen(3000, () => { console.log('Server is running on http://localhost:3000'); }); |
In this example, we create a Koa application and define a route /api/user
that expects a POST request. We use the body
function from express-validator to define validation rules for the username
and email
fields. If there are validation errors, we return a 400 Bad Request
response with the error messages. Otherwise, we process the request as usual.
1
|
curl -X POST http://localhost:3000/api/user -d "username=test&[email protected]" |
This is a basic example of how you can integrate express-validator with the Koa framework to validate request data. You can customize the validation rules and error handling based on your requirements.