ajv-validator / ajv-validator/ajv-cli
Improve data type determination for the key words “oneOf” and “allOf”
- Vorherrschende Sprache
- TypeScript
- Sterne
- 316
- Forks
- 77
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.