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.
\Cake\View\StringTemplate
Template instance.
array
Step size for various input types.
array
Data defaults.
string[]
Formats for various input types.
__construct(\Cake\View\StringTemplate $templates)
Constructor.
\Cake\View\StringTemplate
$templates Templates list.
formatDateTime(mixed $value, array $options)
Formats the passed date/time value into required string format.
string|int|\DateTime|null
$value Value to deconstruct.
array
$options Options for conversion.
string
InvalidArgumentException
mergeDefaults(array $data, \Cake\View\Form\ContextInterface $context)
Merge default values with supplied data.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
array
Updated data array.
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.step
The "step" attribute. Defaults to 1
for "time" and "datetime-local" type inputs. You can set it to null
or false
to prevent explicit step attribute being added in HTML.format
A date()
function compatible datetime format string. By default the widget will use a suitable format based on the input type and database type for the context. If an explicit format is provided, then no default value will be set for the step
attribute, and it needs to be explicitly set if required.All other keys will be converted into HTML attributes.
array
$data The data to build a file input with.
\Cake\View\Form\ContextInterface
$context The current form context.
string
HTML elements.
secureFields(array $data)
Returns a list of fields that need to be secured for this widget.
array
$data The data to render.
string[]
Array of fields to secure.
setMaxLength(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)
Set value for "maxlength" attribute if applicable.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array
Updated data array.
setRequired(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)
Set value for "required" attribute if applicable.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array
Updated data array.
setStep(array $data, \Cake\View\Form\ContextInterface $context, string $fieldName)
Set value for "step" attribute if applicable.
array
$data Data array
\Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array
Updated data array.
Template instance.
\Cake\View\StringTemplate
Step size for various input types.
If not set, defaults to browser default.
array
Data defaults.
array
Formats for various input types.
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.1/class-Cake.View.Widget.DateTimeWidget.html