Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ComplexDataConstraint.php

class ComplexDataConstraint

Complex data constraint.

Validates properties of complex data structures.

Hierarchy

  • class \Symfony\Component\Validator\Constraint
    • class \Drupal\Core\Validation\Plugin\Validation\Constraint\ComplexDataConstraint extends \Symfony\Component\Validator\Constraint

Expanded class hierarchy of ComplexDataConstraint

File

core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/ComplexDataConstraint.php, line 14

Namespace

Drupal\Core\Validation\Plugin\Validation\Constraint
View source
class ComplexDataConstraint extends SymfonyConstraint {
    
    /**
     * 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 = [
                '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() : ?string {
        return 'properties';
    }
    
    /**
     * {@inheritdoc}
     */
    public function getRequiredOptions() : array {
        return [
            'properties',
        ];
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
ComplexDataConstraint::$properties public property An array of constraints for contained properties, keyed by property name.
ComplexDataConstraint::getDefaultOption public function Returns the name of the default option. Overrides Constraint::getDefaultOption
ComplexDataConstraint::getRequiredOptions public function Returns the name of the required options. Overrides Constraint::getRequiredOptions
ComplexDataConstraint::__construct public function Initializes the constraint with options. Overrides Constraint::__construct
Constraint::$groups public property The groups that the constraint belongs to.
Constraint::$payload public property Domain-specific data attached to a constraint.
Constraint::addImplicitGroupName public function Adds the given group if this constraint is in the Default group. 2
Constraint::CLASS_CONSTRAINT public constant Marks a constraint that can be put onto classes.
Constraint::DEFAULT_GROUP public constant The name of the group given to all constraints with no explicit group.
Constraint::ERROR_NAMES protected constant Maps error codes to the names of their constants. 59
Constraint::getErrorName public static function Returns the name of the given error code.
Constraint::getTargets public function Returns whether the constraint can be put onto classes, properties or
both.
8
Constraint::normalizeOptions protected function
Constraint::PROPERTY_CONSTRAINT public constant Marks a constraint that can be put onto properties.
Constraint::validatedBy public function Returns the name of the class that validates this constraint. 9
Constraint::__get public function Returns the value of a lazily initialized option. 2
Constraint::__isset public function 1
Constraint::__set public function Sets the value of a lazily initialized option. 1
Constraint::__sleep public function Optimizes the serialized value to minimize storage space.
RSS feed
Powered by Drupal