diff --git a/src/json-validator.cpp b/src/json-validator.cpp index 7f34553..3c73d98 100644 --- a/src/json-validator.cpp +++ b/src/json-validator.cpp @@ -553,6 +553,9 @@ class type_schema : public schema else_->validate(ptr, instance, patch, e); } } + if (instance.is_null()) { + patch.add(nlohmann::json::json_pointer{}, default_value_); + } } protected: @@ -1134,6 +1137,11 @@ public: propertyNames_ = schema::make(attr.value(), root, {"propertyNames"}, uris); sch.erase(attr); } + + attr = sch.find("default"); + if (attr != sch.end()) { + set_default_value(*attr); + } } };