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\StringTemplateTemplate instance.
-
$defaultStep protected
arrayStep size for various input types.
-
$defaults protected
arrayData 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(string|int|DateTime|null $value, array $options): string
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
stringThrows
InvalidArgumentExceptionIf invalid input type is passed.
mergeDefaults() ¶ protected
mergeDefaults(array $data, Cake\View\Form\ContextInterface $context): array
Merge default values with supplied data.
Parameters
-
array$data Data array
-
Cake\View\Form\ContextInterface$context Context instance.
Returns
arrayUpdated data array.
render() ¶ public
render(array $data, Cake\View\Form\ContextInterface $context): string
Render a date / time form widget.
Data supports the following keys:
nameThe name attribute.valThe value attribute.escapeSet to false to disable escaping on all attributes.typeA valid HTML date/time input type. Defaults to "datetime-local".timezoneThe 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
stringHTML elements.
secureFields() ¶ public
secureFields(array $data): string[]
Returns a list of fields that need to be secured for this widget.
Parameters
-
array$data
Returns
string[]setMaxLength() ¶ protected
setMaxLength(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "maxlength" attribute if applicable.
Parameters
-
array$data Data array
-
Cake\View\Form\ContextInterface$context Context instance.
-
string$fieldName Field name.
Returns
arrayUpdated data array.
setRequired() ¶ protected
setRequired(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "required" attribute if applicable.
Parameters
-
array$data Data array
-
Cake\View\Form\ContextInterface$context Context instance.
-
string$fieldName Field name.
Returns
arrayUpdated data array.
setStep() ¶ protected
setStep(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "step" attribute if applicable.
Parameters
-
array$data Data array
-
Cake\View\Form\ContextInterface$context Context instance.
-
string$fieldName Field name.
Returns
arrayUpdated data array.
Property Detail
$defaultStep ¶ protected
Step size for various input types.
If not set, defaults to browser default.
Type
array