You are here

public function TwitterWidgetWidget::validate in Twitter Profile Widget 8.2

Same name and namespace in other branches
  1. 3.x src/Plugin/Field/FieldWidget/TwitterWidgetWidget.php \Drupal\twitter_profile_widget\Plugin\Field\FieldWidget\TwitterWidgetWidget::validate()

Validate the Twitter block parameters.

File

src/Plugin/Field/FieldWidget/TwitterWidgetWidget.php, line 173

Class

TwitterWidgetWidget
Plugin implementation of the 'twitter_widget' widget.

Namespace

Drupal\twitter_profile_widget\Plugin\Field\FieldWidget

Code

public function validate($element, FormStateInterface $form_state) {
  $config = \Drupal::config('twitter_profile_widget.settings');
  if ($config
    ->get('twitter_widget_token') !== 'Credentials Valid') {
    $form_state
      ->setError($element, $this
      ->t('Credentials for the Twitter API have not been configured or are invalid. Review the <a href=":widget">Twitter widget</a> settings.', [
      ':widget' => '/admin/config/media/twitter_profile_widget',
    ]));
  }
  $values = $form_state
    ->getValues();
  $fields = $values['field_twitter_profile_widget'][0];
  if ($fields['list_type'] == 'search' && $fields['search'] == '') {
    $form_state
      ->setError($element['search'], $this
      ->t('The "Search term" type requires entering a search parameter.'));
  }
  if ($fields['list_type'] != 'search' && $fields['account'] == '') {
    $form_state
      ->setError($element['account'], $this
      ->t('This Twitter widget type requires that you enter an account handle.'));
  }
  if ($fields['list_type'] == 'timeline' && $fields['timeline'] == '') {
    $form_state
      ->setError($element['timeline'], $this
      ->t('The "User timeline" type requires entering a timeline list.'));
  }
}