field_validation_color_validator.inc in Field Validation 7.2
File
field_validation_extras/plugins/validator/field_validation_color_validator.inc
View source
<?php
$plugin = array(
'label' => t('Color(HTML5)'),
'description' => t('Verifies that user-entered value is a valid hexadecimal color value.'),
'handler' => array(
'class' => 'field_validation_color_validator',
),
);
class field_validation_color_validator extends field_validation_validator {
public function validate() {
if ($this->value !== '' && !is_null($this->value)) {
if (!self::validateHex($this->value)) {
$this
->set_error();
}
}
}
public static function validateHex($hex) {
$valid = is_string($hex);
$hex = ltrim($hex, '#');
$length = drupal_strlen($hex);
$valid = $valid && ($length === 3 || $length === 6);
$valid = $valid && ctype_xdigit($hex);
return $valid;
}
}