You are here

function mvf_handler_filter_mvf::options_validate in Measured Value Field 7

Simple validate handler.

Overrides views_handler_filter::options_validate

File

views/mvf_handler_filter_mvf.inc, line 130

Class

mvf_handler_filter_mvf
Base Views Filter Handler for field types defined in MVF module.

Code

function options_validate(&$form, &$form_state) {
  parent::options_validate($form, $form_state);

  // Additionally we want to validate filter data is entered.
  $operator = $this
    ->operators();
  $operator = $operator[$form_state['values']['options']['operator']];
  $required_subvalues = array();

  // There are required sub values only if the filter is not exposed or
  // exposed and required.
  if (!$this->options['exposed'] || $this->options['exposed'] && $form_state['values']['options']['expose']['required']) {
    $required_subvalues = drupal_map_assoc($operator['required subvalues']);
  }
  foreach (array_intersect_key($form_state['values']['options']['value'], $required_subvalues) as $type => $subvalue) {
    if (module_invoke('mvf', 'field_is_empty', $subvalue, $this->options['field_definition'])) {
      form_error($form['value'][$type], t('Please, enter values into %title', array(
        '%title' => $form['value'][$type]['#title'],
      )));
    }
  }
}