ajv-validator / ajv-validator/ajv-cli

Cannot use "constructor" as object property name

Offen
#223 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
316
Forks
77
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

schema:
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object",
"required": [ "answer" ],
"additionalProperties": false,
"properties": {
"answer": {
"type": "object",
"additionalProperties": false,
"properties": {
"constructor": {
"type": "object"
}
}
}
}
}
}
```
json
```json
[
{
"answer": {
"constructor": {
"key": "value"
}
}
},
{
"answer": {}
}
]
```

The above json is deemed invalid. Both array entries should be valid, however ajv deems the last entry to be invalid: `data/1/answer/constructor must be object`

At first it seems like ajv treats the `constructor` property as a required property. However if I rename the property from `constructor` to `constructor2` everything works as expected. (see [Recording](https://user-images.githubusercontent.com/13716661/197217108-5cd375ac-ea0e-4349-b967-83b06a60901a.webm))

**command**: `ajv validate -s schema.json -d data.json --spec=draft2020 --errors=text`
**version**: `ajv-cli@5.0.0`

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.