public function CampaignMonitorListSettingsForm::validateForm in Campaign Monitor 8
Same name and namespace in other branches
- 8.2 src/Form/CampaignMonitorListSettingsForm.php \Drupal\campaignmonitor\Form\CampaignMonitorListSettingsForm::validateForm()
Edit form validation handler which calls the API to save the information that was entered. This is done in the validation function so we can give better feedback to the user and to prevent the user from having to enter the information once more on failure.
Overrides FormBase::validateForm
File
- src/
Form/ CampaignMonitorListSettingsForm.php, line 244
Class
- CampaignMonitorListSettingsForm
- Configure campaignmonitor settings for this site.
Namespace
Drupal\campaignmonitor\FormCode
public function validateForm(array &$form, FormStateInterface $form_state) {
$list_id = $form_state
->getValue('listId');
$values = $form_state
->getValues();
// Build array with basic information.
$values = $values['campaignmonitor_list_' . $list_id];
$options = [
'Title' => SafeMarkup::checkPlain($values['options']['listname']),
'UnsubscribePage' => SafeMarkup::checkPlain($values['options']['UnsubscribePage']),
'ConfirmedOptIn' => $values['options']['ConfirmedOptIn'] ? TRUE : FALSE,
'ConfirmationSuccessPage' => SafeMarkup::checkPlain($values['options']['ConfirmationSuccessPage']),
];
$result = campaignmonitor_set_extended_list_settings($list_id, $options);
if ($result != 'success') {
$form_state
->setErrorByName('', $result);
}
// Redirect to list overview.
$url = Url::fromRoute('campaignmonitor.lists');
$form_state
->setRedirectUrl($url);
parent::validateForm($form, $form_state);
}