public function EntityReference::validate in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/views/src/Plugin/views/display/EntityReference.php \Drupal\views\Plugin\views\display\EntityReference::validate()
Validate that the plugin is correct and can be saved.
Return value
An array of error strings to tell the user what is wrong with this plugin.
Overrides DisplayPluginBase::validate
File
- core/modules/ views/ src/ Plugin/ views/ display/ EntityReference.php, line 162 
- Contains \Drupal\views\Plugin\views\display\EntityReference.
Class
- EntityReference
- The plugin that handles an EntityReference display.
Namespace
Drupal\views\Plugin\views\displayCode
public function validate() {
  $errors = parent::validate();
  // Verify that search fields are set up.
  $style = $this
    ->getOption('style');
  if (!isset($style['options']['search_fields'])) {
    $errors[] = $this
      ->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->handlers['field']);
    foreach ($style['options']['search_fields'] as $field_alias => $enabled) {
      if ($enabled && !in_array($field_alias, $fields)) {
        $errors[] = $this
          ->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;
}