You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
496 B
23 lines
496 B
const Ajv = require("ajv") |
|
const ajv = new Ajv({allErrors: true}) |
|
|
|
const schema = { |
|
type: "object", |
|
properties: { |
|
foo: {type: "string"}, |
|
bar: {type: "number", maximum: 3}, |
|
}, |
|
required: ["foo", "bar"], |
|
additionalProperties: false, |
|
} |
|
|
|
const validate = ajv.compile(schema) |
|
|
|
test({foo: "abc", bar: 2}) |
|
test({foo: 2, bar: 4}) |
|
|
|
function test(data) { |
|
const valid = validate(data) |
|
if (valid) console.log("Valid!") |
|
else console.log("Invalid: " + ajv.errorsText(validate.errors)) |
|
}
|
|
|