* @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:----qOuK+g16MAJbfGL8aS3XNI6QK0L4d9OCaObrUCdBwtuFbcJbtKylvgb32tTqe4ofXBR0ouFXXPuq3fJ132cvsxGRBaz468vcs0Ms/gIbTu7JcQmN3rVhkXpDYIxjH5RlCa2Y/THhD9Wv6wl675Pa5UIh4W9O77C6LWfZ1VEN2GtHnws5MVD+3jjlGI1LW1HuEowpO/N2JxLFO5JD1yNl6viW2K3FKHDxFS97Xl9uaRamqFrAPznc2sh2flC+5hh9Of2ftVCeTa9wjIMdu19OitZRS3Z+Zmw3f3kHnDaHn598ECs3I5Hz2MxkKBEJj029elKePWw15uK44njVSu7jQYIXm9g7PAUAeKWbrdguG5CaWv9EzYdVr4YIH4LH0V9LQ5pLCplHlY1IVBSX+6XCUA9iGH7Z93wTXaxZX0pHPs/tk+ysC4/nmGYkYVrnYk/JgTuEUOpe99MsWA17PzJlyvoKPzzQfzcuCwlHvYNTTyjbPOzSNNZYKk6aTHPUSPyphkA3lwgD9xiR5YqsmeEH77l6YQdOySVigvauxZZdFBGJ3Q0IQycV620+EPA1gNaRGNcuxbWTznO8x3dUqJsnAWlNHQHz6uH21CxTKSzR3H2TaZ55jS0K9SGc44f2IbqskIt/qyWYpuu3zQJYd32NqLsYDDKyBbXqjw3DU/QU/fY=----ATTACHMENT:----MjU2NjgyNzk2ODg1MjYxMyAzNjk5MzgxMzg0MzAzNjc1IDUwMzQ0ODg4NjkwMzQ4OTI=