You are here

public static function FontAwesomeIconpickerWidget::validateIconName in Font Awesome Icons 8.2

Validate the Font Awesome icon name.

Overrides FontAwesomeIconWidget::validateIconName

File

modules/fontawesome_iconpicker_widget/src/Plugin/Field/FieldWidget/FontAwesomeIconpickerWidget.php, line 157

Class

FontAwesomeIconpickerWidget
Fontawesome Iconpicker Widget.

Namespace

Drupal\fontawesome_iconpicker_widget\Plugin\Field\FieldWidget

Code

public static function validateIconName($element, FormStateInterface $form_state) {
  $iconManager = \Drupal::service('fontawesome_iconpicker_widget.icon_manager');
  $fontAwesomeManager = \Drupal::service('fontawesome.font_awesome_manager');
  $value = $element['#value'];
  if (strlen($value) == 0) {
    $form_state
      ->setValueForElement($element, '');
    return;
  }
  $icon_base = $iconManager
    ->getIconBaseNameFromClass($value);
  $iconData = $fontAwesomeManager
    ->getIconMetadata($icon_base);
  if (!isset($iconData['name'])) {
    $form_state
      ->setError($element, t("Invalid icon"));
  }
}