ajv-validator / ajv-validator/ajv-cli

spurious error "must NOT have additional properties" for required field

未关闭
#235 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
316
派生
77
PR 合并指标
30 天内没有已合并 PR

描述

I am encountering an unexpected behavior from `ajv-cli`.
```bash
$ npx ajv -s sch.json -d dat.json
dat.json invalid
[
{
instancePath: '/obj',
schemaPath: '#/properties/obj/additionalProperties',
keyword: 'additionalProperties',
params: { additionalProperty: 'r' },
message: 'must NOT have additional properties'
}
]
$
```

with the following `sch.json`
```json
{
"$id": "sch.json",
"$schema": "http://json-schema.org/schema",
"definitions": {
"Obj": {
"type": "object",
"properties": {
"r": {
"type": "number"
},
"o": {
"type": "string"
}
},
"required": [
"r"
],
"additionalProperties": false
}
},
"type": "object",
"properties": {
"obj": {
"type": "object",
"$ref": "#/definitions/Obj",
"additionalProperties": false
}
}
}
```

and the following `dat.json`
```
{
"$id": "dat.json",
"$schema": "./sch.json",
"obj": {
"r": 123
}
}
```

but the field `r` is required, and must be set.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。