diff --git a/plugins/FeedsNodeProcessor.inc b/plugins/FeedsNodeProcessor.inc
index d3d3bb4..c0e5f14 100644
--- a/plugins/FeedsNodeProcessor.inc
+++ b/plugins/FeedsNodeProcessor.inc
@@ -130,6 +130,7 @@ class FeedsNodeProcessor extends FeedsProcessor {
     if (!isset($entity->uid) || !is_numeric($entity->uid)) {
        $entity->uid = $this->config['author'];
     }
+    parent::entityValidate($entity);
   }
 
   /**
diff --git a/plugins/FeedsProcessor.inc b/plugins/FeedsProcessor.inc
index 8a973c8..b456d52 100755
--- a/plugins/FeedsProcessor.inc
+++ b/plugins/FeedsProcessor.inc
@@ -126,7 +126,14 @@ abstract class FeedsProcessor extends FeedsPlugin {
    * @throws FeedsValidationException $e
    *   If validation fails.
    */
-  protected function entityValidate($entity) {}
+  protected function entityValidate($entity) {
+    try {
+      field_attach_validate($this->entityType(), $entity);
+    }
+    catch (FieldValidationException $e) {
+      throw new FeedsValidationException(reset($e->errors));
+    }
+  }
 
   /**
    * Access check for saving an enity.
diff --git a/plugins/FeedsTermProcessor.inc b/plugins/FeedsTermProcessor.inc
index 9b0024e..d993f1d 100644
--- a/plugins/FeedsTermProcessor.inc
+++ b/plugins/FeedsTermProcessor.inc
@@ -44,6 +44,7 @@ class FeedsTermProcessor extends FeedsProcessor {
     if (drupal_strlen($term->name) == 0) {
       throw new FeedsValidationException(t('Term name missing.'));
     }
+    parent::entityValidate($term);
   }
 
   /**
diff --git a/plugins/FeedsUserProcessor.inc b/plugins/FeedsUserProcessor.inc
index d01db43..beff7a1 100644
--- a/plugins/FeedsUserProcessor.inc
+++ b/plugins/FeedsUserProcessor.inc
@@ -54,6 +54,7 @@ class FeedsUserProcessor extends FeedsProcessor {
     if (empty($account->name) || empty($account->mail) || !valid_email_address($account->mail)) {
       throw new FeedsValidationException(t('User name missing or email not valid.'));
     }
+    parent::entityValidate($account);
   }
 
   /**
