diff --git a/core/modules/media/src/Plugin/Validation/Constraint/MediaMappingsConstraint.php b/core/modules/media/src/Plugin/Validation/Constraint/MediaMappingsConstraint.php
index b99f4c709f77afeab267e5c65040a573d90c7534..17a2e6df40810db11b41079f240cf70923a29423 100644
--- a/core/modules/media/src/Plugin/Validation/Constraint/MediaMappingsConstraint.php
+++ b/core/modules/media/src/Plugin/Validation/Constraint/MediaMappingsConstraint.php
@@ -2,20 +2,21 @@
 
 namespace Drupal\media\Plugin\Validation\Constraint;
 
-use Symfony\Component\Validator\Constraint;
+use Drupal\Core\Validation\Attribute\Constraint;
+use Drupal\Core\StringTranslation\TranslatableMarkup;
+use Symfony\Component\Validator\Constraint as SymfonyConstraint;
 
 /**
  * Validates media mappings.
  *
  * @internal
- *
- * @Constraint(
- *   id = "MediaMappingsConstraint",
- *   label = @Translation("Media Mapping Constraint", context = "Validation"),
- *   type = {"string"}
- * )
  */
-class MediaMappingsConstraint extends Constraint {
+#[Constraint(
+  id: 'MediaMappingsConstraint',
+  label: new TranslatableMarkup('Media Mapping Constraint', [], ['context' => 'Validation']),
+  type: 'string'
+)]
+class MediaMappingsConstraint extends SymfonyConstraint {
 
   /**
    * The error message if source is used in media mapping.