class ComplexDataConstraint in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/ComplexDataConstraint.php \Drupal\Core\Validation\Plugin\Validation\Constraint\ComplexDataConstraint
Complex data constraint.
Validates properties of complex data structures.
Plugin annotation
@Constraint(
id = "ComplexData",
label = @Translation("Complex data", context = "Validation")
)
Hierarchy
- class \Symfony\Component\Validator\Constraint
- class \Drupal\Core\Validation\Plugin\Validation\Constraint\ComplexDataConstraint
Expanded class hierarchy of ComplexDataConstraint
File
- core/
lib/ Drupal/ Core/ Validation/ Plugin/ Validation/ Constraint/ ComplexDataConstraint.php, line 22 - Contains \Drupal\Core\Validation\Plugin\Validation\Constraint\ComplexDataConstraint.
Namespace
Drupal\Core\Validation\Plugin\Validation\ConstraintView source
class ComplexDataConstraint extends Constraint {
/**
* An array of constraints for contained properties, keyed by property name.
*
* @var array
*/
public $properties;
/**
* {@inheritdoc}
*/
public function __construct($options = NULL) {
// Allow skipping the 'properties' key in the options.
if (is_array($options) && !array_key_exists('properties', $options)) {
$options = array(
'properties' => $options,
);
}
parent::__construct($options);
$constraint_manager = \Drupal::service('validation.constraint');
// Instantiate constraint objects for array definitions.
foreach ($this->properties as &$constraints) {
foreach ($constraints as $id => $options) {
if (!is_object($options)) {
$constraints[$id] = $constraint_manager
->create($id, $options);
}
}
}
}
/**
* {@inheritdoc}
*/
public function getDefaultOption() {
return 'properties';
}
/**
* {@inheritdoc}
*/
public function getRequiredOptions() {
return array(
'properties',
);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ComplexDataConstraint:: |
public | property | An array of constraints for contained properties, keyed by property name. | |
ComplexDataConstraint:: |
public | function |
Returns the name of the default option. Overrides Constraint:: |
|
ComplexDataConstraint:: |
public | function |
Returns the name of the required options. Overrides Constraint:: |
|
ComplexDataConstraint:: |
public | function |
Initializes the constraint with options. Overrides Constraint:: |
|
Constraint:: |
protected static | property | Maps error codes to the names of their constants. | 16 |
Constraint:: |
public | property | Domain-specific data attached to a constraint. | |
Constraint:: |
public | function | Adds the given group if this constraint is in the Default group. | 1 |
Constraint:: |
constant | Marks a constraint that can be put onto classes. | ||
Constraint:: |
constant | The name of the group given to all constraints with no explicit group. | ||
Constraint:: |
public static | function | Returns the name of the given error code. | |
Constraint:: |
public | function | Returns whether the constraint can be put onto classes, properties or both. | 11 |
Constraint:: |
constant | Marks a constraint that can be put onto properties. | ||
Constraint:: |
public | function | Returns the name of the class that validates this constraint. | 11 |
Constraint:: |
public | function | Returns the value of a lazily initialized option. | 1 |
Constraint:: |
public | function | Sets the value of a lazily initialized option. | 1 |
Constraint:: |
public | function | Optimizes the serialized value to minimize storage space. |