class Constraint
Same name in this branch
- 11.1.x vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php \PHPUnit\Framework\Constraint\Constraint
- 11.1.x vendor/composer/semver/src/Constraint/Constraint.php \Composer\Semver\Constraint\Constraint
- 11.1.x vendor/symfony/validator/Constraint.php \Symfony\Component\Validator\Constraint
- 11.1.x core/lib/Drupal/Core/Validation/Annotation/Constraint.php \Drupal\Core\Validation\Annotation\Constraint
- 11.1.x core/lib/Drupal/Core/Validation/Attribute/Constraint.php \Drupal\Core\Validation\Attribute\Constraint
- 11.1.x core/lib/Drupal/Component/Version/Constraint.php \Drupal\Component\Version\Constraint
The Base Constraints, all Validators should extend this class
@author Robert Schönthal <seroscho@googlemail.com> @author Bruno Prieto Reis <bruno.p.reis@gmail.com>
Hierarchy
- class \JsonSchema\Constraints\BaseConstraint
- class \JsonSchema\Constraints\Constraint extends \JsonSchema\Constraints\BaseConstraint implements \JsonSchema\Constraints\ConstraintInterface
Expanded class hierarchy of Constraint
3 files declare their use of Constraint
- ComponentValidator.php in core/
lib/ Drupal/ Core/ Theme/ Component/ ComponentValidator.php - IconPackManager.php in core/
lib/ Drupal/ Core/ Theme/ Icon/ Plugin/ IconPackManager.php - Validator.php in vendor/
justinrainbow/ json-schema/ src/ JsonSchema/ Validator.php
2 string references to 'Constraint'
- Problem::getMissingPackageReason in vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ Problem.php - @internal
- RuleReasonDataReturnTypeExtension::getTypeFromMethodCall in vendor/
composer/ composer/ src/ Composer/ PHPStan/ RuleReasonDataReturnTypeExtension.php
File
-
vendor/
justinrainbow/ json-schema/ src/ JsonSchema/ Constraints/ Constraint.php, line 20
Namespace
JsonSchema\ConstraintsView source
abstract class Constraint extends BaseConstraint implements ConstraintInterface {
protected $inlineSchemaProperty = '$schema';
const CHECK_MODE_NONE = 0x0;
const CHECK_MODE_NORMAL = 0x1;
const CHECK_MODE_TYPE_CAST = 0x2;
const CHECK_MODE_COERCE_TYPES = 0x4;
const CHECK_MODE_APPLY_DEFAULTS = 0x8;
const CHECK_MODE_EXCEPTIONS = 0x10;
const CHECK_MODE_DISABLE_FORMAT = 0x20;
const CHECK_MODE_ONLY_REQUIRED_DEFAULTS = 0x80;
const CHECK_MODE_VALIDATE_SCHEMA = 0x100;
/**
* Bubble down the path
*
* @param JsonPointer|null $path Current path
* @param mixed $i What to append to the path
*
* @return JsonPointer;
*/
protected function incrementPath(?JsonPointer $path, $i) {
$path = $path ?: new JsonPointer('');
if ($i === null || $i === '') {
return $path;
}
$path = $path->withPropertyPaths(array_merge($path->getPropertyPaths(), array(
$i,
)));
return $path;
}
/**
* Validates an array
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $i
*/
protected function checkArray(&$value, $schema = null, ?JsonPointer $path = null, $i = null) {
$validator = $this->factory
->createInstanceFor('collection');
$validator->check($value, $schema, $path, $i);
$this->addErrors($validator->getErrors());
}
/**
* Validates an object
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $properties
* @param mixed $additionalProperties
* @param mixed $patternProperties
*/
protected function checkObject(&$value, $schema = null, ?JsonPointer $path = null, $properties = null, $additionalProperties = null, $patternProperties = null, $appliedDefaults = array()) {
$validator = $this->factory
->createInstanceFor('object');
$validator->check($value, $schema, $path, $properties, $additionalProperties, $patternProperties, $appliedDefaults);
$this->addErrors($validator->getErrors());
}
/**
* Validates the type of a property
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $i
*/
protected function checkType(&$value, $schema = null, ?JsonPointer $path = null, $i = null) {
$validator = $this->factory
->createInstanceFor('type');
$validator->check($value, $schema, $path, $i);
$this->addErrors($validator->getErrors());
}
/**
* Checks a undefined element
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $i
*/
protected function checkUndefined(&$value, $schema = null, ?JsonPointer $path = null, $i = null, $fromDefault = false) {
$validator = $this->factory
->createInstanceFor('undefined');
$validator->check($value, $this->factory
->getSchemaStorage()
->resolveRefSchema($schema), $path, $i, $fromDefault);
$this->addErrors($validator->getErrors());
}
/**
* Checks a string element
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $i
*/
protected function checkString($value, $schema = null, ?JsonPointer $path = null, $i = null) {
$validator = $this->factory
->createInstanceFor('string');
$validator->check($value, $schema, $path, $i);
$this->addErrors($validator->getErrors());
}
/**
* Checks a number element
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer $path
* @param mixed $i
*/
protected function checkNumber($value, $schema = null, ?JsonPointer $path = null, $i = null) {
$validator = $this->factory
->createInstanceFor('number');
$validator->check($value, $schema, $path, $i);
$this->addErrors($validator->getErrors());
}
/**
* Checks a enum element
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $i
*/
protected function checkEnum($value, $schema = null, ?JsonPointer $path = null, $i = null) {
$validator = $this->factory
->createInstanceFor('enum');
$validator->check($value, $schema, $path, $i);
$this->addErrors($validator->getErrors());
}
/**
* Checks format of an element
*
* @param mixed $value
* @param mixed $schema
* @param JsonPointer|null $path
* @param mixed $i
*/
protected function checkFormat($value, $schema = null, ?JsonPointer $path = null, $i = null) {
$validator = $this->factory
->createInstanceFor('format');
$validator->check($value, $schema, $path, $i);
$this->addErrors($validator->getErrors());
}
/**
* Get the type check based on the set check mode.
*
* @return TypeCheck\TypeCheckInterface
*/
protected function getTypeCheck() {
return $this->factory
->getTypeCheck();
}
/**
* @param JsonPointer $pointer
*
* @return string property path
*/
protected function convertJsonPointerIntoPropertyPath(JsonPointer $pointer) {
$result = array_map(function ($path) {
return sprintf(is_numeric($path) ? '[%d]' : '.%s', $path);
}, $pointer->getPropertyPaths());
return trim(implode('', $result), '.');
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
BaseConstraint::$errorMask | protected | property | ||
BaseConstraint::$errors | protected | property | ||
BaseConstraint::$factory | protected | property | ||
BaseConstraint::addError | public | function | ||
BaseConstraint::addErrors | public | function | ||
BaseConstraint::arrayToObjectRecursive | public static | function | Recursively cast an associative array to an object | |
BaseConstraint::getErrorMask | public | function | Get the error mask | |
BaseConstraint::getErrors | public | function | ||
BaseConstraint::isValid | public | function | ||
BaseConstraint::numErrors | public | function | ||
BaseConstraint::reset | public | function | Clears any reported errors. Should be used between multiple validation checks. |
|
BaseConstraint::__construct | public | function | ||
Constraint::$inlineSchemaProperty | protected | property | ||
Constraint::checkArray | protected | function | Validates an array | |
Constraint::checkEnum | protected | function | Checks a enum element | |
Constraint::checkFormat | protected | function | Checks format of an element | |
Constraint::checkNumber | protected | function | Checks a number element | |
Constraint::checkObject | protected | function | Validates an object | |
Constraint::checkString | protected | function | Checks a string element | |
Constraint::checkType | protected | function | Validates the type of a property | |
Constraint::checkUndefined | protected | function | Checks a undefined element | |
Constraint::CHECK_MODE_APPLY_DEFAULTS | constant | |||
Constraint::CHECK_MODE_COERCE_TYPES | constant | |||
Constraint::CHECK_MODE_DISABLE_FORMAT | constant | |||
Constraint::CHECK_MODE_EXCEPTIONS | constant | |||
Constraint::CHECK_MODE_NONE | constant | |||
Constraint::CHECK_MODE_NORMAL | constant | |||
Constraint::CHECK_MODE_ONLY_REQUIRED_DEFAULTS | constant | |||
Constraint::CHECK_MODE_TYPE_CAST | constant | |||
Constraint::CHECK_MODE_VALIDATE_SCHEMA | constant | |||
Constraint::convertJsonPointerIntoPropertyPath | protected | function | ||
Constraint::getTypeCheck | protected | function | Get the type check based on the set check mode. | |
Constraint::incrementPath | protected | function | Bubble down the path | |
ConstraintInterface::check | public | function | invokes the validation of an element | 9 |