Try to find required properties in patch
This commit is contained in:
parent
2354610da5
commit
4fafbd7266
@ -1012,10 +1012,6 @@ class object : public schema
|
|||||||
if (minProperties_.first && instance.size() < minProperties_.second)
|
if (minProperties_.first && instance.size() < minProperties_.second)
|
||||||
e.error(ptr, instance, "too few properties");
|
e.error(ptr, instance, "too few properties");
|
||||||
|
|
||||||
for (auto &r : required_)
|
|
||||||
if (instance.find(r) == instance.end())
|
|
||||||
e.error(ptr, instance, "required property '" + r + "' not found in object");
|
|
||||||
|
|
||||||
// for each property in instance
|
// for each property in instance
|
||||||
for (auto &p : instance.items()) {
|
for (auto &p : instance.items()) {
|
||||||
if (propertyNames_)
|
if (propertyNames_)
|
||||||
@ -1064,6 +1060,14 @@ class object : public schema
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const auto &r : required_) {
|
||||||
|
if (instance.find(r) != instance.end())
|
||||||
|
continue;
|
||||||
|
if (!find_patch_add((ptr / r), patch).is_null())
|
||||||
|
continue;
|
||||||
|
e.error(ptr, instance, "required property '" + r + "' not found in object");
|
||||||
|
}
|
||||||
|
|
||||||
for (auto &dep : dependencies_) {
|
for (auto &dep : dependencies_) {
|
||||||
auto prop = instance.find(dep.first);
|
auto prop = instance.find(dep.first);
|
||||||
if (prop != instance.end()) // if dependency-property is present in instance
|
if (prop != instance.end()) // if dependency-property is present in instance
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user