public static Number::validateNumber(&$element, FormStateInterface $form_state, &$complete_form)
Form element validation handler for #type 'number'.
Note that #required is validated by _form_validate() already.
File
- core/lib/Drupal/Core/Render/Element/Number.php, line 62
Class
- Number
- Provides a form element for numeric input, with special numeric validation.
Namespace
Drupal\Core\Render\Element
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | public static function validateNumber(& $element , FormStateInterface $form_state , & $complete_form ) { $value = $element [ '#value' ]; if ( $value === '' ) { return ; } $name = empty ( $element [ '#title' ]) ? $element [ '#parents' ][0] : $element [ '#title' ]; // Ensure the input is numeric. if (! is_numeric ( $value )) { $form_state ->setError( $element , t( '%name must be a number.' , array ( '%name' => $name ))); return ; } // Ensure that the input is greater than the #min property, if set. if (isset( $element [ '#min' ]) && $value < $element [ '#min' ]) { $form_state ->setError( $element , t( '%name must be higher than or equal to %min.' , array ( '%name' => $name , '%min' => $element [ '#min' ]))); } // Ensure that the input is less than the #max property, if set. if (isset( $element [ '#max' ]) && $value > $element [ '#max' ]) { $form_state ->setError( $element , t( '%name must be lower than or equal to %max.' , array ( '%name' => $name , '%max' => $element [ '#max' ]))); } if (isset( $element [ '#step' ]) && strtolower ( $element [ '#step' ]) != 'any' ) { // Check that the input is an allowed multiple of #step (offset by #min if // #min is set). $offset = isset( $element [ '#min' ]) ? $element [ '#min' ] : 0.0; if (!NumberUtility::validStep( $value , $element [ '#step' ], $offset )) { $form_state ->setError( $element , t( '%name is not a valid number.' , array ( '%name' => $name ))); } } } |
Please login to continue.