You are here

function better_exposed_filters_element_validate_slider_min_max in Better Exposed Filters 7.3

Form element validation handler for BEF jQuery slider min and max settings.

The max value must be greater than the min value.

1 string reference to 'better_exposed_filters_element_validate_slider_min_max'
better_exposed_filters_exposed_form_plugin::options_form in ./better_exposed_filters_exposed_form_plugin.inc
Provide a form to edit options for this plugin.

File

./better_exposed_filters.module, line 125
Allows the use of checkboxes, radio buttons or hidden fields for exposed Views filters.

Code

function better_exposed_filters_element_validate_slider_min_max($element, &$form_state) {
  $value = $element['#value'];
  $slider_min = $form_state['values']['exposed_form_options']['bef'][$element['#bef_filter_id']]['slider_options']['bef_slider_min'];
  $slider_max = $form_state['values']['exposed_form_options']['bef'][$element['#bef_filter_id']]['slider_options']['bef_slider_max'];
  if ($value !== '' && _better_exposed_filters_slider_selected($element, $form_state)) {

    // Must not have more than 11 decimal places.
    if (_better_exposed_filters_get_num_decimal_places($value) > 11) {
      form_error($element, t('%name must not have more than 11 decimal places.', array(
        '%name' => $element['#title'],
      )));
    }

    // The slider min must be less than the slider max.
    if (is_numeric($slider_min) && is_numeric($slider_max) && $slider_max <= $slider_min) {
      form_error($element, t('The Range minimum value must be less than the Range maximum value.'));
    }
  }
}