From e889d37333454038026fdaf4da11569215b7c53d Mon Sep 17 00:00:00 2001 From: sundowndev Date: Wed, 14 Nov 2018 18:14:57 +0100 Subject: [PATCH] User schema --- app/schemas/user.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 app/schemas/user.js diff --git a/app/schemas/user.js b/app/schemas/user.js new file mode 100644 index 0000000..16dae6a --- /dev/null +++ b/app/schemas/user.js @@ -0,0 +1,25 @@ +const Joi = require('joi'); + +module.exports = (req, res, next) => { + const schema = Joi.object().keys({ + firstname: Joi.string().min(2).required(), + lastname: Joi.string().min(2).required(), + username: Joi.string().alphanum().min(3).max(30) + .required(), + password: Joi.string().required(), + }); + + Joi.validate({ + firstname: req.body.firstname, + lastname: req.body.lastname, + username: req.body.username, + password: req.body.password, + }, + schema, (validateErr) => { + if (validateErr) { + return next({ status: 400, message: 'Form is invalid.', error: validateErr }); + } + + return next(); + }); +};