From c5c803a9448ef5a9a93bba67593ffaf48e28ceab Mon Sep 17 00:00:00 2001
From: Oleksandr Pozharskyi <o.pozharskyi@dev-branch.com>
Date: Sat, 25 Jan 2025 15:03:57 +0200
Subject: [PATCH] Issue #3500204: Use attributes for MyCustomValidator plugin

---
 .../FapiValidationValidator/MyCustomValidator.php | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/fapiv_example/src/Plugin/FapiValidationValidator/MyCustomValidator.php b/fapiv_example/src/Plugin/FapiValidationValidator/MyCustomValidator.php
index bc74b82..eb838bc 100644
--- a/fapiv_example/src/Plugin/FapiValidationValidator/MyCustomValidator.php
+++ b/fapiv_example/src/Plugin/FapiValidationValidator/MyCustomValidator.php
@@ -3,19 +3,20 @@
 namespace Drupal\fapiv_example\Plugin\FapiValidationValidator;
 
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\StringTranslation\TranslatableMarkup;
+use Drupal\fapi_validation\Attribute\FapiValidationValidator;
 use Drupal\fapi_validation\FapiValidationValidatorsInterface;
 use Drupal\fapi_validation\Validator;
 
 /**
  * Provides a custom validation.
- *
- * Field must have JohnDoe as value.
- *
- * @FapiValidationValidator(
- *   id = "custom_validator",
- *   error_callback = "processError"
- * )
  */
+#[FapiValidationValidator(
+  id: 'custom_validator',
+  label: new TranslatableMarkup('Custom Validator'),
+  description: new TranslatableMarkup('Field must have JohnDoe as value.'),
+  error_message: 'processError.',
+)]
 class MyCustomValidator implements FapiValidationValidatorsInterface {
 
   /**
-- 
GitLab