You are here

class field_validation_pattern_validator in Field Validation 7.2

Hierarchy

Expanded class hierarchy of field_validation_pattern_validator

1 string reference to 'field_validation_pattern_validator'
field_validation_pattern_validator.inc in plugins/validator/field_validation_pattern_validator.inc

File

plugins/validator/field_validation_pattern_validator.inc, line 15

View source
class field_validation_pattern_validator extends field_validation_validator {

  /**
   * Validate field.
   */
  public function validate() {

    // Following code was copied from http://drupal.org/node/1082134, thanks to DrewMathers
    if ($this->value != '') {
      $pattern = $this->rule->settings['pattern'];
      $pattern = preg_quote($pattern, "/");

      // Escape regex control characters
      if (PHP_VERSION < 5.3) {
        $pattern = preg_replace('/-/', '\\-', $pattern);

        // PHP bug #47229
      }
      $pattern = preg_replace('/a/', '[a-zA-Z]', $pattern);
      $pattern = preg_replace('/9/', '[0-9]', $pattern);
      $pattern = preg_replace('/#/', '[a-zA-Z0-9]', $pattern);
      if (!preg_match('/^(' . $pattern . ')$/', $this->value)) {
        $this
          ->set_error();
      }
    }
  }

  /**
   * Provide settings option
   */
  function settings_form(&$form, &$form_state) {
    $default_settings = $this
      ->get_default_settings($form, $form_state);

    //print debug($default_settings);
    $form['settings']['pattern'] = array(
      '#title' => t('Pattern'),
      '#description' => t("Specify a pattern where:") . theme('item_list', array(
        'items' => array(
          t('a - Represents an alpha character [a-zA-Z]'),
          t('9 - Represents a numeric character [0-9]'),
          t('# - Represents an alphanumeric character [a-zA-Z0-9]'),
        ),
      )) . t('Example, North American phone number: (999) 999-999'),
      '#type' => 'textfield',
      '#default_value' => isset($default_settings['pattern']) ? $default_settings['pattern'] : '',
    );
    parent::settings_form($form, $form_state);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
field_validation_pattern_validator::settings_form function Provide settings option Overrides field_validation_validator::settings_form
field_validation_pattern_validator::validate public function Validate field. Overrides field_validation_validator::validate
field_validation_validator::$delta protected property
field_validation_validator::$entity protected property
field_validation_validator::$entity_type protected property
field_validation_validator::$errors protected property
field_validation_validator::$field protected property
field_validation_validator::$instance protected property
field_validation_validator::$item protected property
field_validation_validator::$items protected property
field_validation_validator::$langcode protected property
field_validation_validator::$rule protected property
field_validation_validator::$value protected property
field_validation_validator::bypass_validation public function Bypass validation.
field_validation_validator::get_default_settings public function Return default settingsfor the validator.
field_validation_validator::get_error_element public function Return error element for the validation rule. 1
field_validation_validator::get_error_message public function Return error message string for the validation rule.
field_validation_validator::get_token_type public function Get token type.
field_validation_validator::pass_condition public function Pass condition.
field_validation_validator::set_error public function Set error message.
field_validation_validator::token_help public function Provide token help info for error message. 7
field_validation_validator::__construct function Save arguments locally.