wadofgum-json-schema

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) {};
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'
}
}
}
};
Model.validator = Validator;
let model = new Model({ name: 'test', age: '45', dateOfBirth: '1975-10-01'});
model.validate((err, result) => {
model.name;
model.age;
model.dateOfBirth;
});