* @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:----wwU5wIyPErtGES3HfuuQXu7ZSMj3S92lMoIUhCNPqF4D7+89mMu3E8Qp/izSR341Uj6B+gsm4dyyHPuy8QMWusCFoKm/83SFQS4HFeCoAHNdVTCupdkk8CAIZlMuokAwoek5Bi5j39HOK6GHWRiR9/REQaNpLOf7xdzZENJsCBsOuajz0gRGE/DhEf2DpMJUAYR0fOuQ1kiC5NllwWfKUhioCuJ+EPa5enSbX27AOpYMW1hrfOTp406g3bteENfJ8UgF0lbfVAAT287DiFPy8FYCHZnJ7NH6Sd8B+Cy56Cnd4hgABhoN466ZQmYYPdQsBqHpDePVrcMiZowtQTiSvjWKBFTCV3tEhYbgasQWziJ9ggGve1tC+hhxTzbACVEQ8NeKwAGpfw+24ZAPxeoOGsJIpFpRjpzqosQdufKoNzxQhzPU8OsuI3c8wgvZ2+bUz3z6RQ0oZaBlB+eR0roO8qWCORUQmtUzJB9JanTYXk+FPoG/qFFkKTETAsqT8Wr24RgFgbEyXQKR8kCWE9IauMMPF2QfbN7QrnQmzcV9MrcQpRzwWzdji8F2uui5p/lRyP11kZWbxua5GnoBDhT2k80Ft0yFA0442kq7xllhwcY2zemY8lYNVE9njg1F5CzW1mVVwgcn/AkYXhLguRYTuOH6x1D0cDauzg+IJGg/B0I=----ATTACHMENT:----ODE1OTI1NDU1MDI2MTAzNiAxNjU2NDg0OTU3MjEzMDgxIDI2ODA5NDgzMjA3NjI5NTQ=