ajv-validator / ajv-validator/ajv-cli

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

オープン
#235 コメント 3 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。