ajv-validator / ajv-validator/ajv-cli

Cannot use "constructor" as object property name

Abierto
#223 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
316
Forks
77
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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`

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.