Skip to content

bug: nested defaults will not be applied #632

Closed as not planned
Closed as not planned
@lgersman

Description

@lgersman

If a json schema provides nested defaults like this schema :

{
  "title": "Schema default properties",
  "type": "object",
  "properties": {
    "valuesInFormData": {
      "title": "Values in form data",
      "$ref": "#/definitions/defaultsExample"
    },
    "noValuesInFormData": {
      "title": "No values in form data",
      "$ref": "#/definitions/defaultsExample"
    }
  },
  "definitions": {
    "defaultsExample": {
      "type": "object",
      "properties": {
        "scalar": {
          "title": "Scalar",
          "type": "string",
          "default": "scalar default"
        },
        "array": {
          "title": "Array",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "nested": {
                "title": "Nested array",
                "type": "string",
                "default": "nested array default"
              }
            }
          }
        },
        "object": {
          "title": "Object",
          "type": "object",
          "properties": {
            "nested": {
              "title": "Nested object",
              "type": "string",
              "default": "nested object default"
            }
          }
        }
      }
    }
  }
}

json-schema does not apply these defaults using Constraint::CHECK_MODE_APPLY_DEFAULTS flag.

only top level defaults will be applied.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions