getFieldDefinition()->getType(); $field_value = $value->getValue(); if ($fieldtype == 'link') { $data = empty($field_value[0]['uri']) ? "" : $field_value[0]['uri']; } else { $data = empty($field_value[0]['value']) ? "" : $field_value[0]['value']; } } elseif ($value instanceof FieldItemInterface) { $class = get_class($value); $property = $class::mainPropertyName(); if ($property) { $data = $value->{$property}; } } if ($data) { $matches = []; foreach (Twitter::$validationRegexp as $pattern => $key) { if (preg_match($pattern, $data, $item_matches)) { $matches[] = $item_matches; } } if (empty($matches)) { $this->context->addViolation($constraint->message); } } } }