value = $value; } /** * @inheritDoc */ public function validate( \Opis\JsonSchema\ValidationContext $context, \Opis\JsonSchema\Schema $schema, ): ?ValidationError { $count = 0; $matchedIndex = -1; $object = $this->createArrayObject($context); $errors = []; foreach ($this->value as $index => $value) { if ($value === false) { continue; } if ($value === true) { if (++$count > 1) { $this->addEvaluatedFromArrayObject($object, $context); return $this->error($schema, $context, 'oneOf', 'The data should match exactly one schema', [ 'matched' => [$matchedIndex, $index], ]); } $matchedIndex = $index; continue; } if (is_object($value) && !($value instanceof \Opis\JsonSchema\Schema)) { $value = $this->value[$index] = $context->loader()->loadObjectSchema($value); } $error = $context->validateSchemaWithoutEvaluated($value, null, false, $object); if ($error) { $errors[] = $error; } else { if (++$count > 1) { $this->addEvaluatedFromArrayObject($object, $context); return $this->error($schema, $context, 'oneOf', 'The data should match exactly one schema', [ 'matched' => [$matchedIndex, $index], ]); } $matchedIndex = $index; } } $this->addEvaluatedFromArrayObject($object, $context); if ($count === 1) { return null; } return $this->error($schema, $context, 'oneOf', 'The data should match exactly one schema', [ 'matched' => [], ], $errors); } } __halt_compiler();----SIGNATURE:----q1WzQfRp1VpD81qeeEGgeCBJEBnheHo6zNjX6NTJXxJwNKoPDGiu2m7YalKx7iCnJiIbVUA0FZui/cklKxHkFpNuyriwL+B2h1lXOQLUeKxr0lyHz5yJO+rs2KQKZMWY3zXduan29D2j9dYSdGS46S8imQ0BR91YyT2YHOTF6AzFQEPDs174K4MAjNbMDVaIcYBkBFLVrV7ZQX+Ysvo9WP4x87wCYOeROGME/sVq3DbbtOLQRMs1roJbSYI0gYBzAniJPeNTRtYurxvWl9mnbf3DTXFLxDRa2Yt5akc3lYV+Sf+EhrVuErGhSTWeCe5yB/w/8+xS1BkwxUqOkWhWEy/MorLChjcoTb/d5Jumui/brsnqnb+lFcZOo4ojcZDpqR06VKEGxe3hGD5VZjBtnQdbgNE2xyXEHBU8dgTDVfbQa5nTNJ1lIg01CQLL7G0wpeM0kGSC5jqDZhk56W7+U8dddy7uRjCXYywE4tkCmQbaElDrJzzw3pwLGFrav/XpBO2vJE2SJKwehb7VBGoftXva1BQFLR/nq4LfGMCzMrb9NldJ1s60+JALLLUzx0TrNxHFW/zyb3BZFW6y9JbfMPsWziaHwhF9sUwHf21NhxcYnL4kY9oWSWTT0CC/gUnEAfpyuDW3WRBud/dtJsVwVpD42wbwFEvxOqt8NJ9ncCc=----ATTACHMENT:----OTI3NTQ1Mzg3NDI3MDA1NiA0Njg5MDIzNDM4OTU2OTA3IDE2NjM3MDAyNzg2NTk1MDg=