public function field_validation_pattern_validator::validate in Field Validation 7.2
Validate field.
Overrides field_validation_validator::validate
File
- plugins/
validator/ field_validation_pattern_validator.inc, line 20
Class
Code
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();
}
}
}