RunKit + npm: ajv

node v10.24.1
endpointsharetweet
var Ajv = require('ajv'); var ajv = new Ajv({allErrors: true, jsonPointers: true}); var schema = { "type": ["object", "integer"], "properties": { "abcde": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_]+quot;: { "oneOf": [ {"const": "a"}, {"const": "b"}, {"$ref": "#/cde"} ]}}}, "not1": false, "not2": {"not":{}}, "not3": {"not": true} }, "cde": {"$ref": "#/cdeDef"}, "cdeDef": {"anyOf": [ {"const": "c"}, {"const": "d"}, {"const": "e"} ]}, "anyOf": [ {"properties": {"foo": {"enum": ["a"]}, "bar": {"multipleOf": 3}}}, {"properties": {"foo": {"enum": ["b"]}, "bar": {"multipleOf": 5}}} ], "oneOf": [ {"type": "object"}, {"minimum": 15}, {"maximum": 5} ], "if": {"minimum": 15}, "then": {"multipleOf": 5}, "else": {"multipleOf": 3} }; var validate = ajv.compile(schema); test("abc"); test(1); test(3); test({"abcde": {"zoo":"f"}}) test({"foo":"a", "bar": 10}) test({"not1": 1}) test({"not2": 1}) test({"not3": 1}) function test(data) { var valid = validate(data); console.log(data, validate.errors); }
Created from: https://npm.runkit.com/ajv
Loading…