You are here

public function CommerceSkuNotNullConstraintValidator::validate in Commerce AutoSKU 8.2

Overrides NotNullConstraintValidator::validate

File

src/Plugin/Validation/CommerceSkuNotNullConstraintValidator.php, line 19

Class

CommerceSkuNotNullConstraintValidator
EntityLabelNotNull constraint validator.

Namespace

Drupal\commerce_autosku\Plugin\Validation

Code

public function validate($value, Constraint $constraint) {
  $typed_data = $this
    ->getTypedData();
  if ($typed_data instanceof FieldItemList && $typed_data
    ->isEmpty()) {
    $entity = $typed_data
      ->getEntity();
    if (!$entity
      ->hasField('sku')) {
      parent::validate($value, $constraint);
      return;
    }
    $decorator = \Drupal::service('commerce_autosku.entity_decorator');

    /** @var \Drupal\commerce_autosku\CommerceAutoSkuManager $decorated_entity */
    $decorated_entity = $decorator
      ->decorate($entity);
    if ($decorated_entity
      ->hasSku() && $decorated_entity
      ->autoSkuNeeded()) {
      return;
    }
  }
  parent::validate($value, $constraint);
}