You are here

class EntityLabelNotNullConstraintValidator in Automatic Entity Label 8

Same name and namespace in other branches
  1. 8.3 src/Plugin/Validation/EntityLabelNotNullConstraintValidator.php \Drupal\auto_entitylabel\Plugin\Validation\EntityLabelNotNullConstraintValidator
  2. 8.2 src/Plugin/Validation/EntityLabelNotNullConstraintValidator.php \Drupal\auto_entitylabel\Plugin\Validation\EntityLabelNotNullConstraintValidator

EntityLabelNotNull constraint validator.

Custom override of NotNull constraint to allow empty entity labels to validate before the automatic label is set.

Hierarchy

Expanded class hierarchy of EntityLabelNotNullConstraintValidator

File

src/Plugin/Validation/EntityLabelNotNullConstraintValidator.php, line 15

Namespace

Drupal\auto_entitylabel\Plugin\Validation
View source
class EntityLabelNotNullConstraintValidator extends NotNullConstraintValidator {

  /**
   * {@inheritdoc}
   */
  public function validate($value, Constraint $constraint) {
    $typed_data = $this
      ->getTypedData();
    if ($typed_data instanceof FieldItemList && $typed_data
      ->isEmpty()) {
      $entity = $typed_data
        ->getEntity();
      $decorator = \Drupal::service('auto_entitylabel.entity_decorator');

      /** @var \Drupal\auto_entitylabel\AutoEntityLabelManager $decorated_entity */
      $decorated_entity = $decorator
        ->decorate($entity);
      if ($decorated_entity
        ->hasLabel() && $decorated_entity
        ->autoLabelNeeded()) {
        return;
      }
    }
    parent::validate($value, $constraint);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityLabelNotNullConstraintValidator::validate public function Checks if the passed value is valid. Overrides NotNullConstraintValidator::validate
TypedDataAwareValidatorTrait::getTypedData public function Gets the typed data object for the validated value.