ajv-validator / ajv-validator/ajv
removeAdditional does not work when additionalProperties is not explicitly false
- Lenguaje dominante
- TypeScript
- Estrellas
- 14.8k
- Forks
- 1k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
**What version of Ajv are you using? Does the issue happen if you use the latest version?**
8.20.0
**Ajv options object**
```javascript
{ removeAdditional: true }
```
**JSON Schema**
```json
{
type: 'object',
additionalProperties: {
not: true
},
properties: {
validProp: {
type: 'number'
}
}
}
```
**Sample data**
{
validProp: 1,
invalidProp: 2
}
```json
```
**Your code**
```javascript
const ajv = new Ajv(options);
const validator = ajv.compile(schema);
const result = validator(data);
console.info('result: ', result);
console.info('data: ', data);
if (!result){
console.info('Errors: ', validator.errors);
}
```
**Validation result, data AFTER validation, error messages**
```
result: false
data: { validProp: 1, invalidProp: 2 }
Errors: [
{
instancePath: '/invalidProp',
schemaPath: '#/additionalProperties/not',
keyword: 'not',
params: {},
message: 'must NOT be valid'
}
]
```
**What results did you expect?**
I expected validation to pass and 'invalidProp' to be removed from data.
**Are you going to resolve the issue?**
Yes
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.