function elements_validate_pattern in Elements 7
#element_validate callback for #pattern form element property.
Parameters
$element: An associative array containing the properties and children of the generic form element.
$form_state: The $form_state array for the form this element belongs to.
See also
element_process_pattern()
1 string reference to 'elements_validate_pattern'
- elements_process_pattern in ./
elements.module - #process callback for #pattern form element property.
File
- ./
elements.module, line 225
Code
function elements_validate_pattern($element, &$form_state) {
if ($element['#value'] !== '') {
// The pattern must match the entire string and should have the same
// behavior as the RegExp object in ECMA 262.
// - Use bracket-style delimiters to avoid introducing a special delimiter
// character like '/' that would have to be escaped.
// - Put in brackets so that the pattern can't interfere with what's
// prepended and appended.
$pattern = '{^(?:' . $element['#pattern'] . ')$}';
if (!preg_match($pattern, $element['#value'])) {
form_error($element, t('%name field is not in the right format.', array(
'%name' => $element['#title'],
)));
}
}
}