JsonSchema\Constraints\StringConstraint::check PHP Method

check() public method

{@inheritDoc}
public check ( $element, $schema = null, JsonSchema\Entity\JsonPointer $path = null, $i = null )
$path JsonSchema\Entity\JsonPointer
    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);
    }

Usage Example

Example #1
0
 /**
  * Checks a string element
  *
  * @param mixed $value
  * @param mixed $schema
  * @param mixed $path
  * @param mixed $i
  */
 protected function checkString($value, $schema = null, $path = null, $i = null)
 {
     $validator = new StringConstraint($this->checkMode, $this->uriRetriever, $this->uriResolver, $this->schemaId);
     $validator->check($value, $schema, $path, $i);
     $this->addErrors($validator->getErrors());
 }
StringConstraint