isEven(value) { const result = Joi.validate(value, boxesSchema); if (result.error) { throw new Error(result.error.details[0].message); } }
router.use('/', (req, res, next) => { const validation = joi.validate(req.body, authValidation); if (!validation.error) { next(); } else { res.status(422).json({ message: 'Validation error.', error: validation.error, }); } });
const schemaValidator = (object, type) => { return new Promise((resolve, reject) => { if (!object) { reject(new Error('object to validate not provided')) } if (!type) { reject(new Error('schema type to validate not provided')) } const {error, value} = joi.validate(object, schemas[type]) if (error) { reject(new Error(`invalid ${type} data, err: ${error}`)) } resolve(value) }) }
function validationMiddleware(req) { return Joi.validate(req.payload.pattern.params, Joi.array().default([])) }
function validationMiddlware(req) { return Joi.validate( req.payload.pattern.message, Joi.object() .keys({ from: Joi.string().required(), to: Joi.string().required(), subject: Joi.string().required(), text: Joi.string().optional(), html: Joi.string().optional(), bcc: Joi.string().optional(), cc: Joi.string().optional() }) .required() ) }
const config = Joi.validate(params || {}, ConfigScheme) if (config.error) { throw config.error
function responseValidate(response) { const schema = { id: Joi.objectId().required(), response: Joi.string().min(3).max(512).required() }; return Joi.validate(response, schema); }
validate(p){ const schema = Joi.object().keys({ id: Joi.number().integer(), name: Joi.string().min(3).max(30).required(), price: Joi.number().precision(2).required() }); const {error} = Joi.validate(p, schema); if(error){ return error.details[0].message; } return null; }
function validate(req){ const schema = { email: Joi.string().required().email(), password: Joi.string().required() } return Joi.validate(req, schema); }
function genreValidation(genre) { var schema = { name: Joi.string().min(3).required() } return Joi.validate(genre, schema) }
Joi.validate(someObject, someDefinition, { abortEarly: false }, (err, sanitisedObject) => { if (err) { return callback({ // eslint-disable-line standard/no-callback-literal status: '403', code: 'EFORBIDDEN', title: 'Param validation failed', detail: err.details }) } _.assign(someObject, sanitisedObject) callback() })
Joi.validate(userInput, schema, (err, result) => { if (err) { console.log(err); } else { console.log(result); } });
const schemaValidator = (object, type) => { return new Promise((resolve, reject) => { if (!object) { reject(new Error('object to validate not provided')) } if (!type) { reject(new Error('schema type to validate not provided')) } const {error, value} = joi.validate(object, schemas[type]) if (error) { reject(new Error(`invalid ${type} data, err: ${error}`)) } resolve(value) }) }
function validateGenre(genre) { const schema = { name: Joi.string().min(3).required() }; return Joi.validate(genre, schema); }
function validateCourse(course){ const schema = { name: Joi.string().min(3).required() }; return Joi.validate(course, schema); }