You are here

public function field_validation_number_of_selections_validator::validate in Field Validation 7.2

Validate field.

Overrides field_validation_validator::validate

File

plugins/validator/field_validation_number_of_selections_validator.inc, line 21

Class

field_validation_number_of_selections_validator

Code

public function validate() {
  $settings = $this->rule->settings;
  $total_items = count($this->items);
  $flag = TRUE;
  if (isset($settings['min']) && $settings['min'] != '' && $total_items < $settings['min']) {
    $flag = FALSE;
  }
  if (isset($settings['max']) && $settings['max'] != '' && $total_items > $settings['max']) {
    $flag = FALSE;
  }
  if (!$flag) {
    $token = array(
      '[min]' => isset($settings['min']) ? $settings['min'] : '',
      '[max]' => isset($settings['max']) ? $settings['max'] : '',
      '[count]' => $total_items,
    );
    $this
      ->set_error($token);
  }

  // Do not need to validate other items.
  $break = TRUE;
  return $break;
}