@c8/joi-validator-promised

1.0.9 • Public • Published

Validator

A wrapper around Joi validate method which provides support for promises

Example

'use strict'

const Validator = require('@c8/joi-validator-promised')

const opts = {
 abortEarly: true
}
const myValidator = new Validator(opts)

const joiSchema = {
     id: Joi.number().min(1),
     name: Joi.string()
}

const data = {
 id: 2,
 name: 'C8 Management'
}

// Using the promise
myValidator.validate(data, joiSchema).then(
    (result) => {
     //do something
    },
    (err) => {
     throw new Validator.ValidationError('A validation error occurred')
    }
)

// Validate Synchronously i.e. with the standard Joi validate method
let result = myValidator.validateSync(data, joiSchema)

//If there is no error
if (!result) {
// Do something
} else {
   throw new Validator.ValidationError('A validation error occurred')
}

As this package is simply a wrapper around Joi validate method, the opts object that is passed to the constructor supports all Joi options

Package Sidebar

Install

npm i @c8/joi-validator-promised

Weekly Downloads

3

Version

1.0.9

License

MIT

Last publish

Collaborators

  • njo_c8
  • c8deploy
  • brooksyd2
  • unlucio