ajv-validator / ajv-validator/ajv

Does not pick up default value if defined in $ref definition

Ouverte
#337 13 commentaires 11 réactions 0 personnes assignées Voir sur GitHub
enhancement limitation
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?**
4.8.2

**Ajv options object (see https://github.com/epoberezkin/ajv#options):**

```javascript
{
allErrors: true,
format: 'full',
useDefaults: true
}
```

**JSON Schema (please make it as small as possible to reproduce the issue):**

```js
{
...
"properties": {
"phone": {
"$ref": "#/definitions/optionalPhone"
},
...
},
"definitions": {
"emptyString": {
"type": "string",
"maxLength": 0
},
"optionalPhone": {
"anyOf": [
{ "format": "phone" },
{ "$ref": "#/definitions/emptyString" }
],
"default": ""
}
}
}
```
Above will work only if I define `default: ""` within `phone`.

**Data (please make it as small as posssible to reproduce the issue):**

```json
{}
```

**Validation result, data AFTER validation, error messages:**
Data after validation: `{}`
No errors. Just the default value is not set for `phone`.

**What results did you expect?**
`{ phone: "" }`

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.