You are here

function availability_calendars_admin_settings_validate in Availability Calendars 7.2

Same name and namespace in other branches
  1. 6.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.

_state

Parameters

array $form:

1 string reference to 'availability_calendars_admin_settings_validate'
availability_calendars_admin_settings in ./availability_calendars.admin.inc
Retrieve form callback for the admin/config/availability-calendars/settings page.

File

./availability_calendars.admin.inc, line 221

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['css_class']) && !availability_calendars_is_safe_id($state_fields['css_class'])) {
        form_set_error("states][{$i}][css_class", t('CSS 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.'));
    }
  }
}