class UniqueFieldConstraint

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldConstraint.php \Drupal\Core\Validation\Plugin\Validation\Constraint\UniqueFieldConstraint
  2. 10 core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldConstraint.php \Drupal\Core\Validation\Plugin\Validation\Constraint\UniqueFieldConstraint
  3. 9 core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldConstraint.php \Drupal\Core\Validation\Plugin\Validation\Constraint\UniqueFieldConstraint
  4. 8.9.x core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldConstraint.php \Drupal\Core\Validation\Plugin\Validation\Constraint\UniqueFieldConstraint

Checks if an entity field has a unique value.

Attributes

#[Constraint(id: 'UniqueField', label: new TranslatableMarkup('Unique field constraint', [], [ 'context' => 'Validation', ]))]

Hierarchy

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

Expanded class hierarchy of UniqueFieldConstraint

4 files declare their use of UniqueFieldConstraint
FileUriUnique.php in core/modules/file/src/Plugin/Validation/Constraint/FileUriUnique.php
StringItemTest.php in core/tests/Drupal/Tests/Core/Field/StringItemTest.php
UserMailUnique.php in core/modules/user/src/Plugin/Validation/Constraint/UserMailUnique.php
UserNameUnique.php in core/modules/user/src/Plugin/Validation/Constraint/UserNameUnique.php

File

core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldConstraint.php, line 13

Namespace

Drupal\Core\Validation\Plugin\Validation\Constraint
View source
class UniqueFieldConstraint extends SymfonyConstraint {
  
  /**
   * This constraint is case-insensitive by default.
   *
   * For example "FOO" and "foo" would be considered as equivalent, and
   * validation of the constraint would fail.
   *
   * @var bool
   */
  public $caseSensitive = FALSE;
  public function __construct(mixed $options = NULL, ?bool $caseSensitive = NULL, public $message = 'A @entity_type with @field_name %value already exists.', ?array $groups = NULL, mixed $payload = NULL) {
    parent::__construct($options, $groups, $payload);
    $this->caseSensitive = $caseSensitive ?? $this->caseSensitive;
  }
  
  /**
   * {@inheritdoc}
   */
  public function validatedBy() : string {
    return '\\Drupal\\Core\\Validation\\Plugin\\Validation\\Constraint\\UniqueFieldValueValidator';
  }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
UniqueFieldConstraint::$caseSensitive public property This constraint is case-insensitive by default.
UniqueFieldConstraint::validatedBy public function 1
UniqueFieldConstraint::__construct public function #[HasNamedArguments] 3

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