You are here

function registration_form_field_ui_field_edit_form_validate in Entity Registration 7.2

Same name and namespace in other branches
  1. 8.2 includes/registration.field.inc \registration_form_field_ui_field_edit_form_validate()
  2. 8 includes/registration.field.inc \registration_form_field_ui_field_edit_form_validate()
  3. 7 includes/registration.field.inc \registration_form_field_ui_field_edit_form_validate()

Validation handler for registration_form_field_ui_field_edit_form.

Ensure cardinality is set to 1 on registration fields.

_state

Parameters

$form:

1 string reference to 'registration_form_field_ui_field_edit_form_validate'
registration_form_field_ui_field_edit_form_alter in includes/registration.field.inc
Implements hook_form_FORM_ID_alter().

File

includes/registration.field.inc, line 332
Field hooks.

Code

function registration_form_field_ui_field_edit_form_validate(&$form, &$form_state) {
  if ($form['#field']['type'] == 'registration') {
    if ($form_state['values']['field']['cardinality'] !== 1) {
      form_set_error('cardinality', t('Cardinality on registration fields must be set to one.'));
    }

    // Validate default registration settings.
    $default_settings = $form_state['values']['instance']['settings']['default_registration_settings'];
    $base_elem_key = 'instance][settings][default_registration_settings][';

    // Ensure capacity is a positive integer.
    $capacity = $default_settings['capacity'];
    if (!is_numeric($capacity) || (int) $capacity != $capacity || $capacity < 0) {
      form_set_error($base_elem_key . 'capacity', t('Capacity must be a positive integer.'));
    }

    // Validate from address.
    if (!valid_email_address($default_settings['settings']['from_address'])) {
      form_set_error($base_elem_key . 'settings][from_address', t('From email address is invalid.'));
    }

    // Validate open date.
    if (!empty($default_settings['scheduling']['open']) && strtotime($default_settings['scheduling']['open']) === FALSE) {
      form_set_error($base_elem_key . 'scheduling][open', t('Date is invalid.'));
    }

    // Validate close date.
    if (!empty($default_settings['scheduling']['close']) && strtotime($default_settings['scheduling']['close']) === FALSE) {
      form_set_error($base_elem_key . 'scheduling][close', t('Date is invalid.'));
    }

    // If sending a reminder, ensure date and template are set.
    if ($default_settings['reminder']['send_reminder'] && (empty($default_settings['reminder']['reminder_settings']['reminder_date']) || empty($default_settings['reminder']['reminder_settings']['reminder_template']))) {
      form_set_error($base_elem_key . 'reminder][send_reminder', t('If sending a reminder, provide a date and template.'));
    }

    // Validate reminder date.
    if (!empty($default_settings['reminder']['reminder_settings']['reminder_date']) && strtotime($default_settings['reminder']['reminder_settings']['reminder_date']) === FALSE) {
      form_set_error($base_elem_key . 'reminder][reminder_settings][reminder_date', t('Reminder date is invalid.'));
    }
  }
}