public static FormElement::validatePattern(&$element, FormStateInterface $form_state, &$complete_form)
#element_validate callback for #pattern form element property.
$element: An associative array containing the properties and children of the generic form element.
$form_state: The current state of the form.
array $complete_form: The complete form structure.
public static function validatePattern(&$element, FormStateInterface $form_state, &$complete_form) { 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_state->setError($element, t('%name field is not in the right format.', array('%name' => $element['#title']))); } } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Render!Element!FormElement.php/function/FormElement::validatePattern/8.1.x