ajv-validator / ajv-validator/ajv
`strictRequired` should recognize properties defined in parent schema
- Langage dominant
- TypeScript
- Étoiles
- 14.8k
- Forks
- 1k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
**What version of Ajv are you using? Does the issue happen if you use the latest version?**
8.11.0
**Ajv options object**
```javascript
{ strict: true, strictRequired: true }
```
**JSON Schema**
```json
{
"type": "object",
"properties": {
"a": {"type": "number"},
"b": {"type": "number"},
"c": {"type": "number"},
"d": {"type": "number"}
},
"if": {
"required": ["a"]
},
"then": {
"required": ["b", "c"]
}
}
```
**Sample data**
(Does not compile)
**Your code**
```javascript
new Ajv({ strict: true }).compile({
type: "object",
properties: {
a: {type: "number"},
b: {type: "number"},
c: {type: "number"},
d: {type: "number"},
},
if: {
required: ["a"],
},
then: {
required: ["b", "c"],
},
})
```
**Validation result, data AFTER validation, error messages**
```
Error: strict mode: required property "a" is not defined at "#/if" (strictRequired)
```
**What results did you expect?**
No compile error
**Are you going to resolve the issue?**
I've tried digging into the error, but my attempts to solve it ended up making things worse... Will add notes in comments
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.