我正在使用is-my-json-valid npm模块来验证传入的HTTP请求。我定义了架构以验证对象数组。这个npm模块无法正确验证数组中的对象。
我已经定义了如下所述的架构:
var validator = require('is-my-json-valid')
var validate = validator({
required: true,
type: 'object',
properties: {
name: {
required: true,
type: 'string'
},
author: {
required: true,
type: 'string'
},
libraries: {
required: true,
type: 'array',
items: {
type: 'object',
properties: {
id: {
required: true,
type: 'number'
}
},
additionalProperties: false
}
}
},
additionalProperties: false
});
const obj = {
name: 'myn4m3',
author: 'mys3lf',
libraries: []
};
console.log('should be valid', validate(obj));
// console.log('should not be valid', validate({}))
console.log(validate.errors)
实际: 应该是正确的 空
预期: 从那时起,libraries数组具有强制性的“ id”属性,因为我没有提供它应引发验证错误,但它为true。
有人可以帮忙吗?
答案 0 :(得分:0)
您需要在数组中添加对象
更改此
const obj = {
name: 'myn4m3',
author: 'mys3lf',
libraries: []
};
对此
const obj = {
name: 'myn4m3',
author: 'mys3lf',
libraries: [{}]
};