diff --git a/core/lib/Drupal/Core/TypedData/Type/Boolean.php b/core/lib/Drupal/Core/TypedData/Type/Boolean.php
index c8797ef..b0f5027 100644
--- a/core/lib/Drupal/Core/TypedData/Type/Boolean.php
+++ b/core/lib/Drupal/Core/TypedData/Type/Boolean.php
@@ -35,6 +35,6 @@ public function setValue($value) {
    * Implements TypedDataInterface::validate().
    */
   public function validate() {
-    // TODO: Implement validate() method.
+    return is_bool($this->value);
   }
 }
diff --git a/core/lib/Drupal/Core/TypedData/Type/Email.php b/core/lib/Drupal/Core/TypedData/Type/Email.php
index e9a9c5a..8a1acb6 100644
--- a/core/lib/Drupal/Core/TypedData/Type/Email.php
+++ b/core/lib/Drupal/Core/TypedData/Type/Email.php
@@ -18,7 +18,7 @@ class Email extends String {
    * Implements \Drupal\Core\TypedData\TypedDataInterface::validate().
    */
   public function validate() {
-    // @todo Implement validate() method.
+    return filter_var($this->value, FILTER_VALIDATE_EMAIL) ? TRUE : FALSE;
   }
 
 }
diff --git a/core/lib/Drupal/Core/TypedData/Type/Float.php b/core/lib/Drupal/Core/TypedData/Type/Float.php
index 3e8369b..34730fb 100644
--- a/core/lib/Drupal/Core/TypedData/Type/Float.php
+++ b/core/lib/Drupal/Core/TypedData/Type/Float.php
@@ -35,6 +35,6 @@ public function setValue($value) {
    * Implements TypedDataInterface::validate().
    */
   public function validate() {
-    // TODO: Implement validate() method.
+    return filter_var($this->value, FILTER_VALIDATE_FLOAT) ? TRUE : FALSE;
   }
 }
diff --git a/core/lib/Drupal/Core/TypedData/Type/Integer.php b/core/lib/Drupal/Core/TypedData/Type/Integer.php
index 4303511..43f7886 100644
--- a/core/lib/Drupal/Core/TypedData/Type/Integer.php
+++ b/core/lib/Drupal/Core/TypedData/Type/Integer.php
@@ -35,6 +35,6 @@ public function setValue($value) {
    * Implements TypedDataInterface::validate().
    */
   public function validate() {
-    // TODO: Implement validate() method.
+    return filter_var($this->value, FILTER_VALIDATE_INT) ? TRUE : FALSE;
   }
 }
diff --git a/core/lib/Drupal/Core/TypedData/Type/String.php b/core/lib/Drupal/Core/TypedData/Type/String.php
index 9248239..ed1d5a3 100644
--- a/core/lib/Drupal/Core/TypedData/Type/String.php
+++ b/core/lib/Drupal/Core/TypedData/Type/String.php
@@ -35,6 +35,6 @@ public function setValue($value) {
    * Implements TypedDataInterface::validate().
    */
   public function validate() {
-    // TODO: Implement validate() method.
+    return is_string($this->value);
   }
 }
diff --git a/core/lib/Drupal/Core/TypedData/Type/Uri.php b/core/lib/Drupal/Core/TypedData/Type/Uri.php
index 52b9c3f..ee3dc9f 100644
--- a/core/lib/Drupal/Core/TypedData/Type/Uri.php
+++ b/core/lib/Drupal/Core/TypedData/Type/Uri.php
@@ -34,6 +34,6 @@ public function setValue($value) {
    * Implements TypedDataInterface::validate().
    */
   public function validate() {
-    // TODO: Implement validate() method.
+    return filter_var($this->value, FILTER_VALIDATE_URL) ? TRUE : FALSE;
   }
 }
