You are here

function opigno_messaging_private_message_add_form_validate_replace_to in Opigno messaging 8

For validation.

Sets the values of the default messaging "to" field with the values of our multiselect.

1 string reference to 'opigno_messaging_private_message_add_form_validate_replace_to'
opigno_messaging_form_private_message_add_form_alter in ./opigno_messaging.module
Implements hook_form_alter().

File

./opigno_messaging.module, line 349
Contains opigno_messaging.module.

Code

function opigno_messaging_private_message_add_form_validate_replace_to(&$form, FormStateInterface $form_state) {
  $selected_users = $form_state
    ->getValue('users_to_send');
  $selected_members = $form_state
    ->getValue('members');

  // The select member should be empty at this point,
  // fill it with the users to send.
  $i = 0;
  foreach ($selected_users as $selected_user) {
    $selected_members[$i]['target_id'] = $selected_user;
    $selected_members[$i]['_weight'] = $i;
    $i++;
  }

  // Update the form state with the values we want.
  $form_state
    ->setValue('members', $selected_members);

  // Send error message if fields are empty.
  $message = $form_state
    ->getValue('message');
  if (empty($selected_members['0']['target_id'])) {
    $form_state
      ->setErrorByName('members', t("Please select user for sending message!"));
  }
  if (empty($message[0]['value'])) {
    $form_state
      ->setErrorByName('message', t("Please enter a message!"));
  }
}