public function AdminContentNotification::validateForm in Admin Content Notification 8.3
Add validate handler.
@inheritDoc
Overrides FormBase::validateForm
File
- src/
Form/ AdminContentNotification.php, line 189
Class
- AdminContentNotification
- Class AdminContentNotification implements settings for admin notification.
Namespace
Drupal\admin_content_notification\FormCode
public function validateForm(array &$form, FormStateInterface $form_state) {
$user_input_values = $form_state
->getUserInput();
$admin_content_notification_email_limit = $user_input_values['admin_content_notification_email_limit'];
if ($admin_content_notification_email_limit != -1) {
if (!empty($user_input_values['admin_content_notification_email'])) {
$admin_content_notification_email = explode(',', $user_input_values['admin_content_notification_email']);
if (count($admin_content_notification_email) > $admin_content_notification_email_limit) {
$form_state
->setErrorByName('admin_content_notification_email', $this
->t('Email Ids should be less than ' . $admin_content_notification_email_limit . '.'));
}
foreach ($admin_content_notification_email as $email) {
if (!\Drupal::service('email.validator')
->isValid(trim($email))) {
$form_state
->setErrorByName('admin_content_notification_email', $this
->t('Some Email Ids are not valid, please add all email ids in a valid format.'));
break;
}
}
}
else {
$roles_notified = array_keys(array_filter($user_input_values['admin_content_notification_roles_notified']));
if (count($roles_notified)) {
$ids = $this->adminContentNotificationService
->getUsersOfRoles($roles_notified);
if (count($ids) > $admin_content_notification_email_limit) {
$form_state
->setErrorByName('admin_content_notification_roles_notified', $this
->t('User count for the Recipients should be less than ' . $admin_content_notification_email_limit . '.'));
}
}
}
}
}