* @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:----X/Al+nSqSGFJoIkxIAGboCUc/AW/R2FflCz3i0smMUzkP+mHtMoJEDrXjKeGxrgWyWc2yBDbvL9uHxEXvAGdHnV0V+kw2c+IyzBYpTlBBL02Kl9cH5mcKq+ZydgXhK1cC2lDS7AJK3I+umEXugynB7HXScVe35Q9pB+slDKI0TMqVg6QbWpo2Fa0k2+ZizBoBw2VEyABsp0t4VHjtxC+StZR66lhrB+qgzjo/uMuqYkanOsZ8aKMd/u9iKWoU37tF2xlCv94ZYBUofvpUz8Skw547293Qu4ykiWlBw5bfz5l8OF0PBQbcPxG+39aHxoMNbX6tpoPd7qDgngwLzk/KZaTQ+sylCaGFiGNW+EIPnUMxhNVw1+Bed+LlzLTmapgAjRKxvRpcyUexW1hYHNhjnEXC9n8CPyyQDxFh217RXvf3PgaNVRo5zko+oAFNQQdqiYIJakk42Wg/hPxJeV7HyvwbPByGet8UIotceoTOK8rlSQLtsZp/01lEfhPWlKCy97wOmw/nQBpw/nLLMUeq45ue1hzAmlV3ubvfWpdGc6LyuuCjz94i3PxHXt4N4pUZ3l3/lPl2F1tS958EarwEv/dSnvhV/m1GadufAv9mQB2x45YQ/EwgqPNVJrv9kZR3eho4CmlZSs2uUueYoPzlHsjNBZjY3HR8jw7o4DHBV4=----ATTACHMENT:----NzIzNjAzNTQ2MDAxNDU5NyA2MjE1MzQ2NjU2ODIwMDExIDk4NDg2Njg0MDA5OTkyMjQ=