You are here

public function HexColorDataDefinition::getConstraints in Color API 8

Returns an array of validation constraints.

The validation constraints of a definition consist of any for it defined constraints and default constraints, which are generated based on the definition and its data type. See \Drupal\Core\TypedData\TypedDataManager::getDefaultConstraints().

Constraints are defined via an array, having constraint plugin IDs as key and constraint options as values, e.g.

$constraints = array(
  'Range' => array(
    'min' => 5,
    'max' => 10,
  ),
  'NotBlank' => array(),
);

Options have to be specified using another array if the constraint has more than one or zero options. If it has exactly one option, the value should be specified without nesting it into another array:

$constraints = array(
  'EntityType' => 'node',
  'Bundle' => 'article',
);

Note that the specified constraints must be compatible with the data type, e.g. for data of type 'entity' the 'EntityType' and 'Bundle' constraints may be specified.

Return value

array[] An array of validation constraint definitions, keyed by constraint name. Each constraint definition can be used for instantiating \Symfony\Component\Validator\Constraint objects.

Overrides DataDefinition::getConstraints

See also

\Drupal\Core\Validation\ConstraintManager

\Symfony\Component\Validator\Constraint

File

src/TypedData/Definition/HexColorDataDefinition.php, line 15

Class

HexColorDataDefinition
Definition class for Typed Data API Color Complex Data types.

Namespace

Drupal\colorapi\TypedData\Definition

Code

public function getConstraints() {

  // Retrieve the constraint plugin manager.
  $constraint_manager = \Drupal::TypedDataManager()
    ->getValidationConstraintManager();

  // Get any constraints that the parent may have added.
  $constraints = parent::getConstraints();

  // Add a constraint to ensure that submitted data is a valid hexadecimal
  // color string.
  $constraints[] = $constraint_manager
    ->create('HexadecimalColor', []);
  return $constraints;
}