ajv-validator / ajv-validator/ajv-cli

Improve data type determination for the key words “oneOf” and “allOf”

未關閉
#224 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
TypeScript
星號
316
分支
77
PR 合併指標
30 天內沒有已合併 PR

描述

I constructed the following JSON schema file.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Calculation information",
"description": "settings for calculations",
"$id": "https://example.com/schemas/calculation_preferences",
"type": "object",
"required": ["context"],
"properties":
{
"context":
{
"type": "object",
"oneOf":
[
{
"allOf":
[
{
"properties":
{
"label": {"const": "GTIN"}
}
},
{
"type": "array",
"minItems": 1,
"items":
{
"type": "string",
"pattern": "^[0-9]{13}$"
}
}
]
},
{
"allOf":
[
{
"properties":
{
"label": {"const": "selection group"}
}
},
{
"type": "array",
"minItems": 1,
"items":
{
"type": "string",
"minLength": 1
}
}
]
}
]
}
}
}
```

Test data example:
```json
{
"context":
{
"GTIN": [ "1234567890123" ]
}
}
```

:thought_balloon: Now I am wondering about the following error information.
```
Markus_Elfring@…:…> ajv validate --strict=false --spec=draft2020 -s Berechnung-Kontext-Testfragment1-Schema2 -d Context-test_fragment1.json
Context-test_fragment1.json invalid
[
{
instancePath: '/context',
schemaPath: '#/properties/context/oneOf/0/allOf/1/type',
keyword: 'type',
params: { type: 'array' },
message: 'must be array'
},
{
instancePath: '/context',
schemaPath: '#/properties/context/oneOf/1/allOf/1/type',
keyword: 'type',
params: { type: 'array' },
message: 'must be array'
},
{
instancePath: '/context',
schemaPath: '#/properties/context/oneOf',
keyword: 'oneOf',
params: { passingSchemas: null },
message: 'must match exactly one schema in oneOf'
}
]
```

:thinking: I would appreciate further advices and solution ideas for safer data processing.

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。