Создадим файл
index.js с простым express-сервером:
const express = require('express');
const bodyParser = require('body-parser');
const validator = require('./validator');
const app = express();
app.use(bodyParser.json());
app.post('/signin', (req, res, next) => {
const validationResult = validator.check(req.route.path, req.body);
if (validationResult.error) {
res.status(400).json({
succeed: false,
message: validationResult.error.details
});
} else {
res.json({ succeed: true });
}
});
app.listen(3000, () => console.log('Example app listening on port 3000!'));
Создадим файл
validator.js реализующий проверку запроса:
const Joi = require('joi');
const schemas = {
'/signin': Joi.object().keys({
login: Joi.string(),
password: Joi.string(),
}),
};
exports.check = function (schema, body) {
if (!schemas[schema]) return {};
return Joi.validate(body, schemas[schema], { presence: 'required' });
};
Запустим сервер и отправим валидный и не валидный запросы с помощью Postman