You are here

public function ChartsPluginStyleChart::validate in Charts 8.4

Same name and namespace in other branches
  1. 8 src/Plugin/views/style/ChartsPluginStyleChart.php \Drupal\charts\Plugin\views\style\ChartsPluginStyleChart::validate()
  2. 8.3 src/Plugin/views/style/ChartsPluginStyleChart.php \Drupal\charts\Plugin\views\style\ChartsPluginStyleChart::validate()
  3. 5.0.x src/Plugin/views/style/ChartsPluginStyleChart.php \Drupal\charts\Plugin\views\style\ChartsPluginStyleChart::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 StylePluginBase::validate

File

src/Plugin/views/style/ChartsPluginStyleChart.php, line 188

Class

ChartsPluginStyleChart
Style plugin to render view as a chart.

Namespace

Drupal\charts\Plugin\views\style

Code

public function validate() {
  $errors = parent::validate();
  $chart_settings = $this->options['chart_settings'];
  $selected_data_fields = is_array($chart_settings['fields']['data_providers']) ? $this
    ->getSelectedDataFields($chart_settings['fields']['data_providers']) : NULL;

  // Avoid calling validation before arriving on the view edit page.
  if (\Drupal::routeMatch()
    ->getRouteName() != 'views_ui.add' && empty($selected_data_fields)) {
    $errors[] = $this
      ->t('At least one data field must be selected in the chart configuration before this chart may be shown');
  }
  return $errors;
}