function AtLeastOneOfConstraint::create

Overrides ContainerFactoryPluginInterface::create

File

core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AtLeastOneOfConstraint.php, line 27

Class

AtLeastOneOfConstraint
Checks that at least one of the given constraint is satisfied.

Namespace

Drupal\Core\Validation\Plugin\Validation\Constraint

Code

public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    $constraint_manager = $container->get('validation.constraint');
    $constraints = $configuration['constraints'];
    $constraint_instances = [];
    foreach ($constraints as $constraint_id => $constraint) {
        foreach ($constraint as $constraint_name => $constraint_options) {
            $constraint_instances[$constraint_id] = $constraint_manager->create($constraint_name, $constraint_options);
        }
    }
    return new static($constraint_instances, [
        SymfonyConstraint::DEFAULT_GROUP,
    ]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.