You are here

function views_simple_pager::options_validate in Views Simple Pager 7

Provide the default callback for validating options

Overrides views_plugin_pager::options_validate

File

./views_simple_pager.views.inc, line 134
Views plugin implementations for Views Simple Pager.

Class

views_simple_pager
The plugin to provide the Views Simple Pager.

Code

function options_validate(&$form, &$form_state) {

  // Make sure our numeric values are excatly that - numeric
  $err_elems = array();
  if (!is_numeric($form_state['values']['pager_options']['items_per_page'])) {
    $err_elems[] = 'pager_options][items_per_page';
  }
  if (!empty($form_state['values']['pager_options']['offset']) && !is_numeric($form_state['values']['pager_options']['offset'])) {
    $err_elems[] = 'pager_options][offset';
  }
  if (!empty($form_state['values']['pager_options']['total_pages']) && !is_numeric($form_state['values']['pager_options']['total_pages'])) {
    $err_elems[] = 'pager_options][total_pages';
  }
  foreach ($err_elems as $el) {
    form_set_error($el, t('Please insert a non-negative integer value'));
  }

  // Make sure our labels are not empty
  // #1941876: Note we are no longer calling filter_xss as check_plain gets called under the hood by the pager link theme functions we leverage elsewhere
  if (empty($form_state['values']['pager_options']['prev_label'])) {
    form_set_error('pager_options][prev_label', t('Previous pager item label cannot be blank'));
  }
  if (empty($form_state['values']['pager_options']['next_label'])) {
    form_set_error('pager_options][next_label', t('Next pager item label cannot be blank'));
  }
}