1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | const Ajv = require( 'ajv' ). default
const addFormats = require( 'ajv-formats' )
const schema = {
type: 'object' ,
properties: {
name: {
type: 'string' ,
format: 'email' ,
},
age: {
type: 'number' ,
},
pets: {
type: 'array' ,
},
isWorker: {
type: 'boolean' ,
},
},
required: [ 'name' , 'age' ],
}
const data = {
name: 'sam@163.com' ,
age: 18,
pets: [ 'mama' , 'mimi' ],
isWorker: true ,
}
const ajv = new Ajv()
addFormats(ajv, [ 'email' ])
const validate = ajv.compile(schema)
const valid = validate(data)
if (!valid) console.log(validate.errors)
|