ajv-validator / ajv-validator/ajv-errors

Property name template not working in unevaluatedProperties

Open
#159 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
289
Forks
21
PR merge metrics
No merged PRs in 30d

Description

The property name template {0#} works great in additionalProperties, but it does not seem to work in unevaluated properties. For example, the schema:

` "actions": {
"type": "array",
"items": {
"type": "object",
"unevaluatedProperties": {
"not": true,
"errorMessage": "Unexpected property {0#} in action object"
},
"properties": {
"_id": {
"type": "string"
},
"type": {
"enum": [
"booking",
"chat"
]
},
"className": {
"type": "string"
},
"cta": {
"type": "string"
},
"inquiryTypeId": {
"type": "string"
}
},
"required": [
"_id",
"type",
"className",
"cta"
],
"oneOf": [
{
"$ref": "#/$defs/chatAction"
},
{
"$ref": "#/$defs/bookingAction"
}
]
}
}
`

Yields an error like:
` {
"instancePath": "/0/guide/actions/1/conversionCode",
"schemaPath": "#/properties/actions/items/unevaluatedProperties/errorMessage",
"keyword": "errorMessage",
"params": {
"errors": [
{
"instancePath": "/0/guide/actions/1/conversionCode",
"schemaPath": "#/properties/actions/items/unevaluatedProperties/not",
"keyword": "not",
"params": {},
"message": "must NOT be valid",
"emUsed": true
}
]
},
"message": "Unexpected property {0#} in action object"
}`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.