* @author Bruno Prieto Reis */ class EnumConstraint extends Constraint { /** * {@inheritdoc} */ public function check(&$element, $schema = null, ?JsonPointer $path = null, $i = null) { // Only validate enum if the attribute exists if ($element instanceof UndefinedConstraint && (!isset($schema->required) || !$schema->required)) { return; } $type = gettype($element); foreach ($schema->enum as $enum) { $enumType = gettype($enum); if ($this->factory->getConfig(self::CHECK_MODE_TYPE_CAST) && $type == 'array' && $enumType == 'object') { if ((object) $element == $enum) { return; } } if ($type === gettype($enum)) { if ($type == 'object') { if ($element == $enum) { return; } } elseif ($element === $enum) { return; } } } $this->addError($path, 'Does not have a value in the enumeration ' . json_encode($schema->enum), 'enum', array('enum' => $schema->enum)); } }__halt_compiler();----SIGNATURE:----szXytt8cw7cNVv+l5065eYauGP/RPjRtv3qPTJA3o1LrgnNj7XoxYTyBwMatiSG7/Zc5z+dG3vVLwabqh8QfdxwgmPz5UaNPaoGLdLsZIdkQcEMRQ2EENSj3eacTcn7ba6bemm+XO+6mEEisr3HkvxxPKDnSSd5MCnig9UZgbpsucPbWM507vCTdt6uf6gsO2zz/lihbJijoz/g4qsENoLgtWdIyjGzuwxPIfcWD4OvAEVBBFuWXNtMiFICFstAU6rQ2k5DrSNjZcn9GgeMwYqqEtYSlxD5Fdm2rS8SgFu0OW7Y4q6f9tCOAiG0w95+5HF8PfgfgEjt4f7JabFEAaB6CRWQ+jngBl/R6wF5SfQ3UVSUN4X8vcFrMgf4hLijOch8xdQTOLTonwKW2aYAW0lPKmJ1/NK5MUbdENYSVOCNiFoIASC52E3sv+9uH0rRQXlf27EeYUJ8l5h+5xx/0e497DjI61I+XShYMT56vQGWoKNCxRs09jnkMUTd7ZbqmJipQVevzwZubnjI5l/cuYjdgi3QOvEagk2xFlV0xsxvb2LM+EYmfgkALn21RUSMY3sbZOF7K5k+ryylYI7oHOedhRsAyP2/FXa0GCEVS0v3D0O34tAcIPViZWTs2Bl3wNiaFJCRyi5pNg1mQje2o6c7tRIxKa5rWfj1hLtD7Luw=----ATTACHMENT:----NzU5OTIyMjEwMTA0MDY4OSA0MTMzOTk4NTY0Nzc1NDMwIDY3NDY3NTIzMjUwMTQ1ODk=