Elements

Time

Laminas\Form\Element\Time is meant to be paired with the FormTime helper for HTML5 inputs with type "time". This element adds filters and validators to its input filter specification in order to validate HTML5 time input values on the server.

Basic Usage

This element automatically adds a type attribute of value time.

use Laminas\Form\Element;
use Laminas\Form\Form;

$time = new Element\Time('time');
$time->setLabel('Time');
$time->setAttributes([
    'min'  => '00:00:00',
    'max'  => '23:59:59',
    'step' => '60', // seconds; default step interval is 60 seconds
]);
$time->setOptions([
    'format' => 'H:i:s',
]);

$form = new Form('my-form');
$form->add($time);

Using array notation:

use Laminas\Form\Element;
use Laminas\Form\Form;

$form = new Form('my-form');
$form->add([
    'type' => Element\Time::class,
    'name' => 'time',
    'options'=> [
        'label'  => 'Time',
        'format' => 'H:i:s',
    ],
    'attributes' => [
        'min' => '00:00:00',
        'max' => '23:59:59',
        'step' => '60', // seconds; default step interval is 60 seconds
    ],
]);

Set all attributes before calling prepare

The min, max, and step attributes should be set prior to calling Laminas\Form::prepare(). Otherwise, the default input specification for the element may not contain the correct validation rules.

Default date format

The default date format for the validator is H:i:s. However, a valid time string is not required to have a "seconds" representation. In fact, some user agent UIs such as Google Chrome and Opera submit time elements using the H:i format (i.e. without a seconds representation). Set the date format accordingly.

Public Methods

The following methods are specific to the Time element; all other methods inherited from the parent DateTime 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 and format option. See the DateTime element for more information. One difference from Laminas\Form\Element\DateTime is that the Laminas\Validator\DateStep validator will expect the step attribute to use an interval of seconds (default is 60 seconds).