You are here

function opigno_learning_path_field_required_trainings_validate in Opigno Learning path 8

Same name and namespace in other branches
  1. 3.x opigno_learning_path.module \opigno_learning_path_field_required_trainings_validate()

Custom validation for field_required_training.

1 string reference to 'opigno_learning_path_field_required_trainings_validate'
opigno_learning_path_form_alter in ./opigno_learning_path.module
Implements hook_form_alter().

File

./opigno_learning_path.module, line 1564
Contains opigno_learning_path.module.

Code

function opigno_learning_path_field_required_trainings_validate(&$element, FormStateInterface $form_state, $form) {
  $required_trainings = $form_state
    ->getValue('field_required_trainings')['target_id'];
  if ($required_trainings == NULL || empty($required_trainings)) {
    return;
  }

  // Get trainings id.
  $tids = [];
  foreach ($required_trainings as $item) {
    array_push($tids, $item['target_id']);
  }

  /* @var Drupal\Group\Entity\Group $group */
  $group = $form_state
    ->getFormObject()
    ->getEntity();
  if (in_array($group
    ->id(), $tids)) {
    $form_state
      ->setErrorByName('field_required_trainings', t('You can set in required trainings list current training.'));
  }
}