class AtLeastOneOfConstraint

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

Overrides the symfony constraint to convert the array of constraints to array of constraint objects and use them.

Hierarchy

Expanded class hierarchy of AtLeastOneOfConstraint

File

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

Namespace

Drupal\Core\Validation\Plugin\Validation\Constraint
View source
class AtLeastOneOfConstraint extends AtLeastOneOf implements ContainerFactoryPluginInterface {
    
    /**
     * {@inheritdoc}
     */
    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.