1 entityreference_plugin_display.inc entityreference_plugin_display::validate()

Extend the default validation.

Overrides views_plugin_display::validate

File

core/modules/entityreference/views/entityreference_plugin_display.inc, line 109
Handler for entityreference_plugin_display.

Class

entityreference_plugin_display
@file Handler for entityreference_plugin_display.

Code

function validate() {
  $errors = parent::validate();
  // Verify that search fields are set up.
  $style_options = $this->get_option('style_options');
  if (!isset($style_options['search_fields'])) {
    $errors[] = t('Display "@display" needs a selected search fields to work properly. See the settings for the Entity Reference list format.', array('@display' => $this->display->display_title));
  }
  else {
    // Verify that the search fields used actually exist.
    //$fields = array_keys($this->view->get_items('field'));
    $fields = array_keys($this->handlers['field']);
    foreach ($style_options['search_fields'] as $field_alias => $enabled) {
      if ($enabled && !in_array($field_alias, $fields)) {
        $errors[] = t('Display "@display" uses field %field as search field, but the field is no longer present. See the settings for the Entity Reference list format.', array('@display' => $this->display->display_title, '%field' => $field_alias));
      }
    }
  }
  return $errors;
}