On this page
Caution
The documentation you are viewing is for an older version of this component.
Switch to the latest (v3) version.
Elements
Number
Laminas\Form\Element\Number is meant to be paired with the
FormNumber helper for
HTML5 inputs with type "number".
This element adds filters and validators to its input filter specification in
order to validate HTML5 number input values on the server.
Basic Usage
This element automatically adds a type attribute of value number.
use Laminas\Form\Element;
use Laminas\Form\Form;
$number = new Element\Number('quantity');
$number->setLabel('Quantity');
$number->setAttributes([
'min' => '0',
'max' => '10',
'step' => '1', // default step interval is 1
]);
$form = new Form('my-form');
$form->add($number);
Using array notation:
use Laminas\Form\Element;
use Laminas\Form\Form;
$form = new Form('my-form');
$form->add([
'type' => Element\Number::class,
'name' => 'quantity',
'options' => [
'label' => 'Quantity',
],
'attributes' => [
'min' => '0',
'max' => '10',
'step' => '1', // default step interval is 1
],
]);
Set all attributes before calling prepare
The
min,max, andstepattributes should be set prior to callingLaminas\Form::prepare(). Otherwise, the default input specification for the element may not contain the correct validation rules.
Public Methods
The following methods are specific to the Number element; all other methods
defined by the parent Element class are also
available.
| Method signature | Description |
|---|---|
getInputSpecification() : array |
Returns a input filter specification, which includes Laminas\Filter\StringTrim and will add the appropriate validators based on the values from the min, max, and step attributes. See below for specifics. |
getInputSpecification() will behave as follows based on the attributes
provided:
- If the
minattribute is set, aLaminas\Validator\GreaterThanvalidator will be added to ensure the number value is greater than the minimum value. Theminvalue should be a valid floating point number. - If the
maxattribute is set, aLaminas\Validator\LessThanvalidator will be added to ensure the number value is less than the maximum value. Themaxvalue should be a valid floating point number. - If the
stepattribute is set to "any", step validations will be skipped. Otherwise, aLaminas\Validator\Stepvalidator will be added to ensure the number value is within a certain interval (default is 1). Thestepvalue should be either "any" or a valid floating point number.