diff --git a/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraint.php b/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraint.php
index 789de16..2a68e37 100644
--- a/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraint.php
+++ b/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraint.php
@@ -7,7 +7,7 @@ use Symfony\Component\Validator\Constraint;
 /**
  * Check if a value is a valid Flickr embed code/URL.
  *
- * @constraint(
+ * @Constraint(
  *   id = "FlickrEmbedCode",
  *   label = @Translation("Flickr embed code", context = "Validation"),
  *   type = { "link", "string", "string_long" }
diff --git a/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraintValidator.php b/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraintValidator.php
index e4ebcb0..0d53ccf 100644
--- a/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraintValidator.php
+++ b/src/Plugin/Validation/Constraint/FlickrEmbedCodeConstraintValidator.php
@@ -3,6 +3,7 @@
 namespace Drupal\media_entity_flickr\Plugin\Validation\Constraint;
 
 use Drupal\Core\Field\FieldItemInterface;
+use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\media_entity_flickr\Plugin\media\Source\Flickr;
 use Symfony\Component\Validator\Constraint;
 use Symfony\Component\Validator\ConstraintValidator;
@@ -27,6 +28,13 @@ class FlickrEmbedCodeConstraintValidator extends ConstraintValidator {
         $data = $value->{$property};
       }
     }
+    elseif ($value instanceof FieldItemListInterface) {
+      $class = get_class($value->first());
+      $property = $class::mainPropertyName();
+      if ($property) {
+        $data = $value->first()->{$property};
+      }
+    }
 
     if ($data) {
       $matches = [];
diff --git a/tests/src/Functional/FlickrEmbedValidatorTest.php b/tests/src/Functional/FlickrEmbedValidatorTest.php
new file mode 100644
index 0000000..d94704e
--- /dev/null
+++ b/tests/src/Functional/FlickrEmbedValidatorTest.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace Drupal\Tests\media\Functional\FieldFormatter;
+
+use Drupal\media\Entity\Media;
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Test flickr embed validator.
+ *
+ * @covers \Drupal\media_entity_flickr\Plugin\Validation\Constraint\FlickrEmbedCodeConstraintValidator
+ *
+ * @group media_entity_flickr
+ */
+class FlickrEmbedValidatorTest extends BrowserTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = [
+    'system',
+    'node',
+    'path',
+    'media',
+    'media_entity_flickr',
+  ];
+
+  /**
+   * Test entity validation.
+   */
+  public function testValidation() {
+    $embed_code = 'invalid embed code';
+    $entity = Media::create([
+      'bundle' => 'flickr',
+      'name' => 'Test flickr entity',
+      'field_media_flickr' => $embed_code,
+    ]);
+    $violations = $entity->validate();
+    $this->assertEqual(count($violations), 1);
+    $this->assertEqual($violations[0]->getPropertyPath(), 'field_media_flickr');
+    $this->assertEqual($violations[0]->getMessage(), 'Not valid Flickr URL/Embed code.');
+
+    $embed_code = '<a data-flickr-embed="true"  href="https://www.flickr.com/photos/cafuego/5633703857/in/photolist-9zQcT8" title="Drupal Downunder"><img src="https://live.staticflickr.com/5302/5633703857_5dc0bea5e7_b.jpg" width="1024" height="842" alt="Drupal Downunder"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>';
+    $entity->set('field_media_flickr', $embed_code);
+    $violations = $entity->validate();
+    $this->assertEqual(count($violations), 0);
+  }
+
+}
