Class DateTimeWidget

Input widget class for generating a date time input widget.

This class is usually used internally by Cake\View\Helper\FormHelper, it but can be used to generate standalone date time inputs.

Namespace: Cake\View\Widget

Properties summary

  • $_templates protected
    \Cake\View\StringTemplate

    Template instance.

  • $defaultStep protected
    array

    Step size for various input types.

  • $defaults protected
    array

    Data defaults.

  • $formatMap protected
    string[]

    Formats for various input types.

Method Summary

  • __construct() public

    Constructor.

  • formatDateTime() protected

    Formats the passed date/time value into required string format.

  • mergeDefaults() protected

    Merge default values with supplied data.

  • render() public

    Render a date / time form widget.

  • secureFields() public

    Returns a list of fields that need to be secured for this widget.

  • setMaxLength() protected

    Set value for "maxlength" attribute if applicable.

  • setRequired() protected

    Set value for "required" attribute if applicable.

  • setStep() protected

    Set value for "step" attribute if applicable.

Method Detail

__construct() public

__construct(\Cake\View\StringTemplate $templates)

Constructor.

Parameters

\Cake\View\StringTemplate $templates

Templates list.

formatDateTime() protected

formatDateTime(mixed $value, array $options)

Formats the passed date/time value into required string format.

Parameters

string|int|\DateTime|null $value

Value to deconstruct.

array $options

Options for conversion.

Returns

string

Throws

InvalidArgumentException
If invalid input type is passed.

mergeDefaults() protected

mergeDefaults(array $data, \Cake\View\Form\ContextInterface $context)

Merge default values with supplied data.

Parameters

array $data

Data array

\Cake\View\Form\ContextInterface $context

Context instance.

Returns

array

Updated data array.

render() public

render(array $data, \Cake\View\Form\ContextInterface $context)

Render a date / time form widget.

Data supports the following keys:

  • name The name attribute.
  • val The value attribute.
  • escape Set to false to disable escaping on all attributes.
  • type A valid HTML date/time input type. Defaults to "datetime-local".
  • timezone The timezone the input value should be converted to.

All other keys will be converted into HTML attributes.

Parameters

array $data

The data to build a file input with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

HTML elements.

secureFields() public

secureFields(array $data)

Returns a list of fields that need to be secured for this widget.

Parameters

array $data

The data to render.

Returns

string[]

Array of fields to secure.

setMaxLength() protected

setMaxLength(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)

Set value for "maxlength" attribute if applicable.

Parameters

array $data

Data array

\Cake\View\Form\ContextInterface $context

Context instance.

string $fieldName

Field name.

Returns

array

Updated data array.

setRequired() protected

setRequired(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)

Set value for "required" attribute if applicable.

Parameters

array $data

Data array

\Cake\View\Form\ContextInterface $context

Context instance.

string $fieldName

Field name.

Returns

array

Updated data array.

setStep() protected

setStep(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)

Set value for "step" attribute if applicable.

Parameters

array $data

Data array

\Cake\View\Form\ContextInterface $context

Context instance.

string $fieldName

Field name.

Returns

array

Updated data array.

Property Detail

$_templates protected

Template instance.

Type

\Cake\View\StringTemplate

$defaultStep protected

Step size for various input types.

If not set, defaults to browser default.

Type

array

$defaults protected

Data defaults.

Type

array

$formatMap protected

Formats for various input types.

Type

string[]

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.0/class-Cake.View.Widget.DateTimeWidget.html