You are here

public function field_validation_int_validator::validate in Field Validation 7.2

Validate field.

Overrides field_validation_validator::validate

File

field_validation_extras/plugins/validator/field_validation_int_validator.inc, line 21

Class

field_validation_int_validator

Code

public function validate() {
  $settings = $this->rule->settings;
  if ($this->value !== '' && !is_null($this->value)) {
    $options = array();
    if (isset($settings['min']) && $settings['min'] != '') {
      $min = token_replace($settings['min'], array(
        $this
          ->get_token_type() => $this->entity,
      ));
      $options['options']['min_range'] = $min;
    }
    if (isset($settings['max']) && $settings['max'] != '') {
      $max = token_replace($settings['max'], array(
        $this
          ->get_token_type() => $this->entity,
      ));
      $options['options']['max_range'] = $max;
    }
    if (FALSE === filter_var($this->value, FILTER_VALIDATE_INT, $options)) {
      $token = array(
        '[min]' => isset($min) ? $min : '',
        '[max]' => isset($max) ? $max : '',
      );
      $this
        ->set_error($token);
    }
  }
}