Ajv 验证总是 returns true
Ajv validation always returns true
我尝试根据现有 JSON 模式验证 JSON
数据。
我试过了
const filename = path.join(__dirname, 'google-wallet-object-schema.json') // from https://walletobjects.googleapis.com/$discovery/rest?version=v1
const schemas = require(filename)
const ajv = new Ajv({
schemaId: 'auto',
additionalProperties: false,
$data: true,
// unknownFormats: 'ignore',
allErrors: true,
validateSchema: true,
format: 'full',
//jsonPointers :true
/* schemas: schemas.schemas */
})
ajv.addSchema(schemas.schemas).compile(schemas.resources);
const v = ajv.getSchema('#/flightobject/methods/insert')
const test = v({ dddd: '1' })
console.log(test)
console.log(ajv.errors)
我期望 false
但验证总是 returns true
有谁知道我在这里做错了什么?
JSON 文档不是 JSON 架构。
根据https://developers.google.com/discovery
A directory of supported APIs schemas based on JSON Schema.
A machine-readable "Discovery Document" for each of the supported
APIs.
您必须使用他们提供的客户端库,或者编写您自己的“发现文档”处理器。
我尝试根据现有 JSON 模式验证 JSON
数据。
我试过了
const filename = path.join(__dirname, 'google-wallet-object-schema.json') // from https://walletobjects.googleapis.com/$discovery/rest?version=v1
const schemas = require(filename)
const ajv = new Ajv({
schemaId: 'auto',
additionalProperties: false,
$data: true,
// unknownFormats: 'ignore',
allErrors: true,
validateSchema: true,
format: 'full',
//jsonPointers :true
/* schemas: schemas.schemas */
})
ajv.addSchema(schemas.schemas).compile(schemas.resources);
const v = ajv.getSchema('#/flightobject/methods/insert')
const test = v({ dddd: '1' })
console.log(test)
console.log(ajv.errors)
我期望 false
但验证总是 returns true
有谁知道我在这里做错了什么?
JSON 文档不是 JSON 架构。
根据https://developers.google.com/discovery
A directory of supported APIs schemas based on JSON Schema.
A machine-readable "Discovery Document" for each of the supported APIs.
您必须使用他们提供的客户端库,或者编写您自己的“发现文档”处理器。