* @author Bruno Prieto Reis */ class StringConstraint extends Constraint { /** * {@inheritdoc} */ public function check(&$element, $schema = null, JsonPointer $path = null, $i = null) { // Verify maxLength if (isset($schema->maxLength) && $this->strlen($element) > $schema->maxLength) { $this->addError($path, 'Must be at most ' . $schema->maxLength . ' characters long', 'maxLength', array( 'maxLength' => $schema->maxLength, )); } //verify minLength if (isset($schema->minLength) && $this->strlen($element) < $schema->minLength) { $this->addError($path, 'Must be at least ' . $schema->minLength . ' characters long', 'minLength', array( 'minLength' => $schema->minLength, )); } // Verify a regex pattern if (isset($schema->pattern) && !preg_match('#' . str_replace('#', '\\#', $schema->pattern) . '#u', $element)) { $this->addError($path, 'Does not match the regex pattern ' . $schema->pattern, 'pattern', array( 'pattern' => $schema->pattern, )); } $this->checkFormat($element, $schema, $path, $i); } private function strlen($string) { if (extension_loaded('mbstring')) { return mb_strlen($string, mb_detect_encoding($string)); } // mbstring is present on all test platforms, so strlen() can be ignored for coverage return strlen($string); // @codeCoverageIgnore } } __halt_compiler();----SIGNATURE:----GRN7psiQPgW09UQn6q77W+HeP0WLlVdyPbeniqbeCyZh/S+0WaKaxfXojNU6c6OTCAAPThXLPL5iGYbIAifXp9aRy+DmHMM5SsoO3CME03QqODxHRWM6AT9XR8TNe3B0ppowp2eKC3caFbTixZrWKENDVC0/8UAb7qjdMONwkq7w3dGr2wtWVQZXGsLSYkahegHMs18QfKcZJkqC2yKcXvjLi5ohlpihn1817lZReaIiLR2/DXES/hKdV1xTEosEWqCkqPf5JDPyRYloshAwKU0O5E3L1JmeN5UZE9N53sDQ10sKWJVpcZJHAE2+gQWu/YE+fNb95rndJezwGIRoqixIgixztMyeqkXoGcpreSd6B846jjZLaG5rVdFdeLn6xbt1xSi4T/pMSGa6ztqGM+xSXdJ3hrSWTRWSKeiGekkRLCQJxxBvNWHn9dgxGXx0Eb6JOqI3t3Mf+Kf8+5Z0MTv94kqa6T3MLQ4VUxFwVv58e53rBEduh6TMjX4ermalRXXK6s8unM1TYogsAXS+kr7pkV1A0t2JwFB9huoXARk6n9wD0jwO0GDcrKRjqAa/vTw/FbZrX11h7FM8jCMzVGafsLYwA49/R1UYghyRW9ru2CD7FdQqzcjMqCeYc3YDblyel6cWUtwfckOD2a4Vy3cp0xjgardQkQJfmgTjpBc=----ATTACHMENT:----NTA1NjU0ODEwNjc0NzczMSA0ODI5NDg4MTU1MDQzNjE1IDY3MTM1MjgyMzU0OTM2NzY=