diff --git a/entityreference.module b/entityreference.module index bdcb562..a9893ab 100644 --- a/entityreference.module +++ b/entityreference.module @@ -220,13 +220,15 @@ function entityreference_field_validate($entity_type, $entity, $field, $instance if ($ids) { $valid_ids = entityreference_get_selection_handler($field, $instance, $entity_type, $entity)->validateReferencableEntities(array_keys($ids)); - $invalid_entities = array_diff_key($ids, array_flip($valid_ids)); - if ($invalid_entities) { - foreach ($invalid_entities as $id => $delta) { - $errors[$field['field_name']][$langcode][$delta][] = array( - 'error' => 'entityreference_invalid_entity', - 'message' => t('The referenced entity (@type: @id) is invalid.', array('@type' => $field['settings']['target_type'], '@id' => $id)), - ); + if (!empty($valid_ids)) { + $invalid_entities = array_diff_key($ids, array_flip($valid_ids)); + if ($invalid_entities) { + foreach ($invalid_entities as $id => $delta) { + $errors[$field['field_name']][$langcode][$delta][] = array( + 'error' => 'entityreference_invalid_entity', + 'message' => t('The referenced entity (@type: @id) is invalid.', array('@type' => $field['settings']['target_type'], '@id' => $id)), + ); + } } } } diff --git a/plugins/selection/EntityReference_SelectionHandler_Views.class.php b/plugins/selection/EntityReference_SelectionHandler_Views.class.php index 1b036a7..859e1e1 100644 --- a/plugins/selection/EntityReference_SelectionHandler_Views.class.php +++ b/plugins/selection/EntityReference_SelectionHandler_Views.class.php @@ -138,7 +138,9 @@ class EntityReference_SelectionHandler_Views implements EntityReference_Selectio if ($this->initializeView(NULL, 'CONTAINS', 0, $ids)) { // Get the results. $entities = $this->view->execute_display($display_name, $args); - $result = array_keys($entities); + if (!empty($entities)) { + $result = array_keys($entities); + } } return $result; }