* @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:----XY5HpI3AF/yQc746rtA6n1Pf2debuDhdp9bHhRR//H7fdKYTBQ35DanU4xX/foJaSS7EgG2OisoTzfOuRWcXJMyl0HpPv69FUgeypa5IY/8RWDVFvfVoKMrePfTmlFkpkFGG6ffUpK9u1IbIkjn9UD6qLDh8wUh/k7Lz+9Lpw8s9KHMkqgMBIUsMgfpdkMds+tfJtetDAX4I4IETb6e/d4fVfNFjzTiCLqT2wFrpMPXpB/jafAHfbIbmpIaIOTgZMFJvstsvTXUKgImahsAA0gaMoH5MMuGZbWI8KA85q0ElLB7e0Us5t2OQtVyNHkSgzTNiU6zB9vqB+tOXWoJOAxtePryf2q+4VBm+mfui3pkkaalEolpxNJe6BbGyX2IbKREz/03Zl1InVxQ5SRZJnS0tRELvzCKWfIU038ZFnXrMiJ1rwKX6dADkwnrMau0OwXFy+91F5fi+pf4FPo2tfTmAXKoIk7iY9hDXD+1ED/TqV4hbaoJcyqY5o6NRKmuVWDaz8WZvDNry1rAzMRAnMOH7t4UCbI0LTZVgwU9c3iHcz+sR7ErHa1gYOFNU6istDoBnXoEyoViENyJge35aiEDuDCPJBkKOVlxuz5QMpd0FQl5BCzQwLytbucJZ6UC4/LVzpEU3Sy+drG71Es+8gM76IRAUYwLAoWcJhda74w4=----ATTACHMENT:----NzYzNzU0Njg4ODU1OTk0MSA4MzYxMDcyMzE2ODY3NTc3IDcxNTY4Nzg4MzI5Mjk1NTA=