public function ProductVariationSkuConstraintValidator::validate in Commerce Core 8.2
File
- modules/
product/ src/ Plugin/ Validation/ Constraint/ ProductVariationSkuConstraintValidator.php, line 16
Class
- ProductVariationSkuConstraintValidator
- Validates the ProductVariationSku constraint.
Namespace
Drupal\commerce_product\Plugin\Validation\ConstraintCode
public function validate($items, Constraint $constraint) {
if (!($item = $items
->first())) {
return;
}
$sku = $item->value;
if (isset($sku) && $sku !== '') {
$sku_exists = (bool) \Drupal::entityQuery('commerce_product_variation')
->condition('sku', $sku)
->condition('variation_id', (int) $items
->getEntity()
->id(), '<>')
->range(0, 1)
->count()
->execute();
if ($sku_exists) {
$this->context
->buildViolation($constraint->message)
->setParameter('%sku', $this
->formatValue($sku))
->addViolation();
}
}
}