You are here

class field_validation_color_validator in Field Validation 7.2

Hierarchy

Expanded class hierarchy of field_validation_color_validator

1 string reference to 'field_validation_color_validator'
field_validation_color_validator.inc in field_validation_extras/plugins/validator/field_validation_color_validator.inc

File

field_validation_extras/plugins/validator/field_validation_color_validator.inc, line 16

View source
class field_validation_color_validator extends field_validation_validator {

  /**
   * Validate field.
   */
  public function validate() {
    if ($this->value !== '' && !is_null($this->value)) {

      // The logic is copied from Drupal 8 core.
      if (!self::validateHex($this->value)) {
        $this
          ->set_error();
      }
    }
  }

  /**
   * Validates whether a hexadecimal color value is syntatically correct.
   *
   * @param $hex
   *   The hexadecimal string to validate. May contain a leading '#'. May use
   *   the shorthand notation (e.g., '123' for '112233').
   *
   * @return bool
   *   TRUE if $hex is valid or FALSE if it is not.
   */
  public static function validateHex($hex) {

    // Must be a string.
    $valid = is_string($hex);

    // Hash prefix is optional.
    $hex = ltrim($hex, '#');

    // Must be either RGB or RRGGBB.
    $length = drupal_strlen($hex);
    $valid = $valid && ($length === 3 || $length === 6);

    // Must be a valid hex value.
    $valid = $valid && ctype_xdigit($hex);
    return $valid;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
field_validation_color_validator::validate public function Validate field. Overrides field_validation_validator::validate
field_validation_color_validator::validateHex public static function Validates whether a hexadecimal color value is syntatically correct.
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::settings_form function Provide settings option. 24
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.