object-map-validator

1.0.4 • Public • Published

Object Map Validator

Build Status

This object-map validator supports validating event.body against a list of expected parameters, and return default values for required fields if they are missing from the request. Under the hood it use validator module.

Installation

npm install object-map-validator

Usage

let objectMapValidator = require('object-map-validator')
let validator = require('validator')

let resp = objectMapValidator.evaluateParameters(
    {
        'id': '100', 'username': 'johndoe'
    }, [{
        name: 'id',
        mappedName: 'customerNo',
        required: true,
        validator: validator.isInt
    },
    {
        name: 'username',
        mappedName: 'customerName',
        required: true,
        validator: validator.isAlpha,
    },
    {
        name: 'phone',
        mappedName: 'phoneNo',
        required: true,
        default: '0441122334'
    }
])

// resp = { 
//     error: '',
//     object: { 
//         customerNo: '100',
//         customerName: 'johndoe',
//         phoneNo: '0441122334' 
//     },
//     string: 'customerNo=100&customerName=johndoe&phoneNo=0441122334' 
// }

Validation with options

let objectMapValidator = require('object-map-validator')
let validator = require('validator')

let resp = objectMapValidator.evaluateParameters(
    {
        'age': 17
    }, [{
        name: 'age',
        mappedName: 'iAge',
        required: true,
        validator: validator.isInt
        options: {min: 18}
    }
])

// resp = { 
//   error: 'Parameter age failed validation. Expected validator: isInt with options: {"min":18}',
//   object: {},
//   string: '' 
// }

Development

Test

npm test

Package Sidebar

Install

npm i object-map-validator

Weekly Downloads

4

Version

1.0.4

License

ISC

Unpacked Size

11.9 kB

Total Files

5

Last publish

Collaborators

  • hungneox