diff --git a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php
index fd670fd..70b2392 100644
--- a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php
+++ b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php
@@ -132,7 +132,6 @@ protected static function getUserEnteredStringAsUri($string) {
   public static function validateUriElement($element, FormStateInterface $form_state, $form) {
     $uri = static::getUserEnteredStringAsUri($element['#value']);
     $form_state->setValueForElement($element, $uri);
-
     // If getUserEnteredStringAsUri() mapped the entered value to a 'internal:'
     // URI , ensure the raw value begins with '/', '?' or '#'.
     // @todo '<front>' is valid input for BC reasons, may be removed by
@@ -140,7 +139,13 @@ public static function validateUriElement($element, FormStateInterface $form_sta
     if (parse_url($uri, PHP_URL_SCHEME) === 'internal' && !in_array($element['#value'][0], ['/', '?', '#'], TRUE) && substr($element['#value'], 0, 7) !== '<front>') {
       $form_state->setError($element, t('Manually entered paths should start with /, ? or #.'));
       return;
-    }
+    }elseif(empty($element['#value'])) { 
+      $values = $form_state->getValue('default_value_input');
+       if (isset($element['#parents'][1]) && !empty($values[$element['#parents'][1]][0]['title'])) {
+        $element['#required'] = TRUE;
+        $form_state->setError($element, t('URL is required.'));
+      }
+   } 
   }
 
   /**
