|
@@ -1073,6 +1073,24 @@ void JSONMissingOneOf::printInvalidInfo(int indent) const
|
|
|
JSONValue* JSONMissingOneOf::getValidPart(
|
|
|
RCArray<JSONValidationResult>* removedPartsValidationResults)
|
|
|
{
|
|
|
+ for (XML::Element* e : expected)
|
|
|
+ {
|
|
|
+ if (e->hasAttribute("default"))
|
|
|
+ {
|
|
|
+ JSONValue *default = Parser::getValue(e->getAttributeValue("default"));
|
|
|
+ if (default)
|
|
|
+ {
|
|
|
+ JSONValue *valid = JSONValidator(
|
|
|
+ dynamic_cast<XML::Element*>(e->getThis()))
|
|
|
+ .getValidParts(default, removedPartsValidationResults);
|
|
|
+ default->release();
|
|
|
+ if (valid)
|
|
|
+ {
|
|
|
+ return valid;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if (removedPartsValidationResults)
|
|
|
{
|
|
|
removedPartsValidationResults->add(
|