Version 1
[yaffs-website] / web / modules / contrib / crop / src / Plugin / Validation / Constraint / CropTypeMachineNameValidationConstraintValidator.php
diff --git a/web/modules/contrib/crop/src/Plugin/Validation/Constraint/CropTypeMachineNameValidationConstraintValidator.php b/web/modules/contrib/crop/src/Plugin/Validation/Constraint/CropTypeMachineNameValidationConstraintValidator.php
new file mode 100644 (file)
index 0000000..977155d
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+
+namespace Drupal\crop\Plugin\Validation\Constraint;
+
+use Symfony\Component\Validator\Constraint;
+use Symfony\Component\Validator\ConstraintValidator;
+
+/**
+ * Checks if the crop type is valid.
+ */
+class CropTypeMachineNameValidationConstraintValidator extends ConstraintValidator {
+
+  /**
+   * Validator 2.5 and upwards compatible execution context.
+   *
+   * @var \Symfony\Component\Validator\Context\ExecutionContextInterface
+   */
+  protected $context;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function validate($value, Constraint $constraint) {
+    // '0' is invalid, since elsewhere we check it using empty().
+    /** @var \Drupal\crop\Entity\CropType $value */
+    if (trim($value->id()) == '0') {
+      $this->context->buildViolation($constraint->message)
+        ->atPath('id')
+        ->addViolation();
+    }
+  }
+
+}