78d19e847587d0c650b2255979f92c9cd3800d08
[yaffs-website] / web / modules / contrib / media_entity_twitter / src / Plugin / Validation / Constraint / TweetEmbedCodeConstraintValidator.php
1 <?php
2
3 namespace Drupal\media_entity_twitter\Plugin\Validation\Constraint;
4
5 use Drupal\media_entity\EmbedCodeValueTrait;
6 use Drupal\media_entity_twitter\Plugin\MediaEntity\Type\Twitter;
7 use Symfony\Component\Validator\Constraint;
8 use Symfony\Component\Validator\ConstraintValidator;
9
10 /**
11  * Validates the TweetEmbedCode constraint.
12  */
13 class TweetEmbedCodeConstraintValidator extends ConstraintValidator {
14
15   use EmbedCodeValueTrait;
16
17   /**
18    * {@inheritdoc}
19    */
20   public function validate($value, Constraint $constraint) {
21     $value = $this->getEmbedCode($value);
22     if (!isset($value)) {
23       return;
24     }
25
26     foreach (Twitter::$validationRegexp as $pattern => $key) {
27       if (preg_match($pattern, $value)) {
28         return;
29       }
30     }
31
32     $this->context->addViolation($constraint->message);
33   }
34
35 }