validatePlaybookSchema(json) { var schemas = { playbook: this.getSchema('playbook') } let ajv = new Ajv({useDefaults: true, allErrors: true, $data: true}); require('ajv-keywords')(ajv, 'select') let valid = ajv.validate(schemas.playbook, json) return {valid, errors: ajv.errors} }
/** * validate json schema * @param {obj} paramObj * @param {obj} schema * @returns {{valid: boolean, err_msg?: string}} */ function validateSchema(paramObj, schema){ const ajv = new Ajv(); const valid = ajv.validate(schema, paramObj); if (!valid) return { valid, err_msg: `Input parsing error: ${ajv.errors[0].dataPath} ${ajv.errors[0].message}.` }; return { valid }; }
function essencial_function() { this.JSON_validator = function(req, res) { var ajv = require('ajv'); var myValidator = new ajv({$data: true}); var schema = require('./schema.json'); var schema1 = {}; var validData = req.body; /* { smaller: 5, larger: 7 };*/ var a = myValidator.validate(schema1, validData); // true if (a) { console.log('[JSON_validator] data validated'); } else { console.log('[JSON_validator] validation failed'); res.json(myValidator.errorsText()); res.close; } }; this.hashit = function(data) { const crypto = require('crypto'); const hash = crypto.createHash('sha256'); hash.update(data); return (hash.digest('hex')); }; }
/** * Validate Resource JSON against a schema * @param object Object to be validated * @param schema JSON schema to be used for validation */ validateJSON (object, schema) { let ajv = new Ajv({ allErrors: true }); if (ajv.validate(schema, object)) { return; } let validationErrors = ajv.errors.map(function (error) { return { message: error.message, path: error.dataPath }; }); let validationError = new HttpError( HttpError.statusCodes.UNPROCESSABLE_ENTITY, this.Errors.JSON_IS_INVALID + JSON.stringify(schema) ); validationError.causes = validationErrors; throw validationError; }
const ajvValid = ajv.validate(idRoot, jsonToValidate); if (!ajvValid) {