我正在使用 Node 的 AJV(它强制执行 JSON 模式)。
我想验证 array1 properties.bars
。很容易。
然后我想确保 array2 中的一个项目properties.keep
在 array1 中properties.bars
。
我该怎么做呢?
我有:
const config = require('../../../config')
const VALID_BARS = Object.keys(config.LHS_RHS_LOOKUP)
const schemaItems = {
id: 'schemaItems',
type: 'string',
anyOf: [
{ enum: VALID_BARS },
{ pattern: '^[^\\s]+ [^\\s]+$' }
]
}
const schemaOptions = {
type: 'object',
properties: {
bars: {
type: 'array',
default: [VALID_BARS[0]],
items: schemaItems,
minItems: 1,
uniqueItems: true
},
keep: {
type: 'array',
default: [],
items: schemaItems, // << THIS NEEDS TO CHANGE
minItems: 0,
uniqueItems: true
},
protect: {
default: true,
type: 'boolean'
}
}
}
module.exports = schemaOptions