On this page
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.
Property Summary
-
$_templates protected
Cake\View\StringTemplate
Template instance.
-
$defaultStep protected
array<string, mixed>
Step size for various input types.
-
$defaults protected
array<string, mixed>
Data defaults.
-
$formatMap protected
array<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(DateTime|string|int|null $value, array<string, mixed> $options): string
Formats the passed date/time value into required string format.
Parameters
DateTime|string|int|null
$value-
Value to deconstruct.
array<string, mixed>
$options-
Options for conversion.
Returns
string
Throws
InvalidArgumentException
If invalid input type is passed.
mergeDefaults() protected
mergeDefaults(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string, mixed>
Merge default values with supplied data.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
Returns
array<string, mixed>
render() public
render(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): string
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 to1
for "time" and "datetime-local" type inputs. You can set it tonull
orfalse
to prevent explicit step attribute being added in HTML.format
Adate()
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 thestep
attribute, and it needs to be explicitly set if required.
All other keys will be converted into HTML attributes.
Parameters
array<string, mixed>
$data-
The data to build a file input with.
Cake\View\Form\ContextInterface
$context-
The current form context.
Returns
string
secureFields() public
secureFields(array<string, mixed> $data): array<string>
Returns a list of fields that need to be secured for this widget.
Parameters
array<string, mixed>
$data
Returns
array<string>
setMaxLength() protected
setMaxLength(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "maxlength" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
setRequired() protected
setRequired(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "required" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
setStep() protected
setStep(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "step" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
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<string, mixed>
$defaults protected
Data defaults.
Type
array<string, mixed>
$formatMap protected
Formats for various input types.
Type
array<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.4/class-Cake.View.Widget.DateTimeWidget.html