You are here

function availability_calendars_admin_settings_validate in Availability Calendars 6.2

Same name and namespace in other branches
  1. 7.2 availability_calendars.admin.inc \availability_calendars_admin_settings_validate()

Form validate callback for the admin_settings form

  • at least one label should be filled
  • entered classes should be a valid css class
1 string reference to 'availability_calendars_admin_settings_validate'
availability_calendars_admin_settings in ./availability_calendars.admin.inc
Retrieve form callback for the admin/settings/availability-calendars/settings page.

File

./availability_calendars.admin.inc, line 215

Code

function availability_calendars_admin_settings_validate($form, &$form_state) {
  $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
  if ($op == t('Save configuration')) {
    $element = $form_state['values']['states'];
    $all_empty = TRUE;
    foreach ($element as $i => $state_fields) {
      if (!empty($state_fields['label'])) {
        $all_empty = FALSE;
      }
      if (!empty($state_fields['class']) && !availability_calendars_is_safe_id($state_fields['class'])) {
        form_set_error("states][{$i}][class", t('Class should be usable as a valid css class.'));
      }
    }
    if ($all_empty) {
      form_set_error('states][0][label', t('At least 1 state should be defined.'));
    }
    $default = $form_state['values']['defaultstatus'];
    if (empty($element[$default]['label'])) {
      form_set_error("states][{$default}][label", t('The default state may not be empty or deleted.'));
    }
  }
}