wadofgum-json-schema

1.2.2 • Public • Published

wadofgum-json-schema

build status Current Version dependency Status devDependency Status Coveralls

A validation mixin for wadofgum using z-schema.

Usage

After extending your model with this mixin, instances of your class will have a validate method which accepts a callback as its only parameter.

Simply provide a json schema for validation and then assign it to the static schema property on your class.

const Wadofgum = require('wadofgum');
const Validation = require('wadofgum-json-schema');
const ZSchema = require('z-schema');
const Validator = new ZSchema();
 
 
class Model extends Wadofgum.mixin(Validation) {};
 
// Set schema property to class object
Model.schema = {
    metaSchema: {
        description: 'Person record schema',
        type: 'record',
        base: 'entity',
        jsonSchema: 'v4',
        name: 'person',
        version: 1
    },
    schema: {
        type: 'object',
        properties: {
            name: {
                type: 'string'
            },
            age: {
                type: 'integer'
            },
            dateOfBirth: {
                type: 'string',
                format: 'date'
            }
        }
    }
 
};
 
// Set validator object to class object
Model.validator = Validator;
 
let model = new Model({ name: 'test', age: '45', dateOfBirth: '1975-10-01'});
model.validate((err, result) => {
    model.name; // 'test'
    model.age; // 45
    model.dateOfBirth; // '1975-10-01'
});

Readme

Keywords

Package Sidebar

Install

npm i wadofgum-json-schema

Weekly Downloads

3

Version

1.2.2

License

BSD-3-Clause

Last publish

Collaborators

  • simon-p-r