* @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:----M8SotZGMqXmXc/maEqV0LSKMtDGVrvmpvKEq7yxRvwozhoGSjOg6UChjRINJm2PvAIFU1DJqPeO0arrdFAmdVOzA/JbVmoAx2y8lm9U29cA1fu3R6QT/1/lYaiC8qb0j0+ZAybXuhmJ9O9OxJDnFl9jpyqnandOX73h5gDrT6ex/SEb7qSDTdHRaoIXIyR2koEFLgrPdP26dFqM+EWHNRfF13LCkT0fD9sy87LoAiWQDDQBpqD3tCs5Wa7frmsBBIz0tPjtRElOcmh2wmQBdxDUEwQN4zaZVsKp+qH/95ZDKdD5S0SQqGY/waby5rMzpOObNKVldOQSWJr9rekpyQg2pW1VJpTTymvLh8GIWsKdd212KkktWve07VXzMNVYi2AsHIpiJI7Utck6yDm8PSikY6cSbXREtDGiSugt58nd4Co/vobRGhEeT5e763JsSRxan51vVvpfKFjBx71EybT4K5u9GR5M2pJhKxbePoRc42+CbRJ5Ue2OTFNG0GJAlT0Vzjy32RuX5QpZVVFLvHbDS8ApD9I16NwA/s0HAUkg/Qt80k0Oz3netBbFThO3BMVuhctmO+us/riEQ5iZB3RvBzlzC3xTlScYldyrjiARxVx8ADR3hHKHo3n7Pp2v/o0loNbEd4u56FF6kxv8iUykJF50Vfz1rIlwuMnL+vLU=----ATTACHMENT:----MzU3MDQ5NTcyMTU2MjU3OCA3NTM3NzE4NDA3MzY5MTI5IDI4Njc4MzkyNjc1MzA0Mzk=