SECURE_SKIP
SECURE_SKIP = 'skip' : string
Constant used internally to skip the securing process, and neither add the field to the hash or to the unlocked fields.
Form helper library.
Automatic generation of HTML FORMs from given data.
None found |
$requestType : string|null
Defines the type of form being created. Set by FormHelper::create().
None found |
None found |
None found |
$_templater : \Cake\View\StringTemplate
StringTemplate instance.
None found |
None found |
$_View : \Cake\View\View
The View instance this helper is attached to
None found |
None found |
$_configInitialized : boolean
Whether the config property has already been configured with defaults
None found |
$_datetimeParts : array
The various pickers that make up a datetime picker.
None found |
None found |
$_unlockedFields : array
An array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method
None found |
$_locator : \Cake\View\Widget\WidgetLocator
Locator for input widgets.
None found |
$_context : \Cake\View\Form\ContextInterface|null
Context for the current form.
None found |
$_contextFactory : \Cake\View\Form\ContextFactory
Context factory.
None found |
$_lastAction : string
The action attribute value of the last created form.
Used to make form/request specific hashes for SecurityComponent.
None found |
$_valueSources : array
The sources to be used when retrieving prefilled input values.
None found |
setTemplates(array $templates) : $this
Sets templates to use.
array | $templates | Templates to be added. |
None found |
getTemplates(string|null $template = null) : string|array
Gets templates to use or a specific template.
string|null | $template | String for reading a specific template, null for all. |
None found |
templates(string|null|array $templates = null) : $this|string|array
Gets/sets templates to use.
string|null|array | $templates | null or string allow reading templates. An array allows templates to be added. |
None found |
formatTemplate(string $name, array $data) : string
Formats a template string with $data
string | $name | The template name. |
array | $data | The data to insert. |
None found |
templater() : \Cake\View\StringTemplate
Returns the templater instance.
None found |
__construct(\Cake\View\View $View, array $config = array())
Construct the widgets and binds the default context providers
\Cake\View\View | $View | The View this helper is being attached to. |
array | $config | Configuration settings for the helper. |
None found |
__call(string $method, array $params) : string
Missing method handler - implements various simple input types. Is used to create inputs of various types. e.g. `$this->Form->text();` will create `<input type="text" />` while `$this->Form->range();` will create `<input type="range" />`
$this->Form->search('User.query', ['value' => 'test']);
Will make an input like:
<input type="search" id="UserQuery" name="User[query]" value="test" />
The first argument to an input type should always be the fieldname, in Model.field
format.
The second argument should always be an array of attributes for the input.
string | $method | Method name / input type to make. |
array | $params | Parameters for the method call |
When there are no params for the method call.
Formatted input method.
None found |
__get(string $name) : \Cake\View\Helper|null
Lazy loads helpers.
string | $name | Name of the property being accessed. |
Helper instance if helper with provided name exists
None found |
__set(string $name, mixed $value) : void
Magic setter for removed properties.
string | $name | Property name. |
mixed | $value | Value to set. |
None found |
getView() : \Cake\View\View
Get the view instance this helper is bound to.
The bound view instance.
None found |
addClass(array $options = array(), string|null $class = null, string $key = 'class') : array
Adds the given class to the element options
array | $options | Array options/attributes to add a class to |
string|null | $class | The class name being added. |
string | $key | the key to use for class. |
Array of options with $key set.
None found |
implementedEvents() : array
Event listeners.
By defining one of the callback methods a helper is assumed to be interested in the related event.
Override this method if you need to add non-conventional event listeners. Or if you want helpers to listen to non-standard events.
None found |
initialize(array $config) : void
Constructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
array | $config | The configuration settings provided to this helper. |
None found |
__debugInfo() : array
Returns an array that can be used to describe the internal state of this object.
None found |
setConfig(string|array $key, mixed|null $value = null, boolean $merge = true) : $this
Sets the config.
Setting a specific value:
$this->setConfig('key', $value);
Setting a nested value:
$this->setConfig('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
string|array | $key | The key to set, or a complete array of configs. |
mixed|null | $value | The value to set. |
boolean | $merge | Whether to recursively merge or overwrite existing config, defaults to true. |
When trying to set a key that is invalid.
None found |
getConfig(string|null $key = null, mixed $default = null) : mixed
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
Reading with default value:
$this->getConfig('some-key', 'default-value');
string|null | $key | The key to get or null for the whole config. |
mixed | $default | The return value when the key does not exist. |
Config value being read.
None found |
config(string|array|null $key = null, mixed|null $value = null, boolean $merge = true) : mixed
Gets/Sets the config.
Reading the whole config:
$this->config();
Reading a specific value:
$this->config('key');
Reading a nested value:
$this->config('some.nested.key');
Setting a specific value:
$this->config('key', $value);
Setting a nested value:
$this->config('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->config(['one' => 'value', 'another' => 'value']);
string|array|null | $key | The key to get/set, or a complete array of configs. |
mixed|null | $value | The value to set. |
boolean | $merge | Whether to recursively merge or overwrite existing config, defaults to true. |
When trying to set a key that is invalid.
Config value being read, or the object itself on write operations.
None found |
configShallow(string|array $key, mixed|null $value = null) : $this
Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value);
Setting a nested value:
$this->configShallow('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
string|array | $key | The key to set, or a complete array of configs. |
mixed|null | $value | The value to set. |
None found |
widgetRegistry(\Cake\View\Widget\WidgetRegistry|null $instance = null, array $widgets = array()) : \Cake\View\Widget\WidgetRegistry
Set the widget registry the helper will use.
\Cake\View\Widget\WidgetRegistry|null | $instance | The registry instance to set. |
array | $widgets | An array of widgets |
None found |
getWidgetLocator() : \Cake\View\Widget\WidgetLocator
Get the widget locator currently used by the helper.
Current locator instance
since | 3.6.0 |
---|
setWidgetLocator(\Cake\View\Widget\WidgetLocator $instance) : $this
Set the widget locator the helper will use.
\Cake\View\Widget\WidgetLocator | $instance | The locator instance to set. |
since | 3.6.0 |
---|
contextFactory(\Cake\View\Form\ContextFactory|null $instance = null, array $contexts = array()) : \Cake\View\Form\ContextFactory
Set the context factory the helper will use.
\Cake\View\Form\ContextFactory|null | $instance | The context factory instance to set. |
array | $contexts | An array of context providers. |
None found |
create(mixed $context = null, array $options = array()) : string
Returns an HTML form element.
type
Form method defaults to autodetecting based on the form context. If
the form context's isCreate() method returns false, a PUT request will be done.method
Set the form's method attribute explicitly.action
The controller action the form submits to, (optional). Use this option if you
don't need to change the controller from the current request's controller. Deprecated since 3.2, use url
.url
The URL the form submits to. Can be a string or a URL array. If you use 'url'
you should leave 'action' undefined.encoding
Set the accept-charset encoding for the form. Defaults to Configure::read('App.encoding')
enctype
Set the form encoding explicitly. By default type => file
will set enctype
to multipart/form-data
.templates
The templates you want to use for this form. Any templates will be merged on top of
the already loaded templates. This option can either be a filename in /config that contains
the templates you want to load, or an array of templates to use.context
Additional options for the context class. For example the EntityContext accepts a 'table'
option that allows you to set the specific Table class the form should be based on.idPrefix
Prefix for generated ID attributes.valueSources
The sources that values should be read from. See FormHelper::setValueSources()templateVars
Provide template variables for the formStart template.mixed | $context | The context for which the form is being defined. Can be a ContextInterface instance, ORM entity, ORM resultset, or an array of meta data. You can use false or null to make a context-less form. |
array | $options | An array of html attributes and options. |
An formatted opening FORM tag.
None found |
end(array $secureAttributes = array()) : string
Closes an HTML form, cleans up values set by FormHelper::create(), and writes hidden input fields where appropriate.
Resets some parts of the state, shared among multiple FormHelper::create() calls, to defaults.
array | $secureAttributes | Secure attributes which will be passed as HTML attributes into the hidden input elements generated for the Security Component. |
A closing FORM tag.
None found |
secure(array $fields = array(), array $secureAttributes = array()) : string
Generates a hidden field with a security hash based on the fields used in the form.
If $secureAttributes is set, these HTML attributes will be merged into the hidden input tags generated for the Security Component. This is especially useful to set HTML5 attributes like 'form'.
array | $fields | If set specifies the list of fields to use when generating the hash, else $this->fields is being used. |
array | $secureAttributes | will be passed as HTML attributes into the hidden input elements generated for the Security Component. |
A hidden input field with a security hash, or empty string when secured forms are not in use.
None found |
unlockField(string|null $name = null) : array|null
Add to or get the list of fields that are currently unlocked.
Unlocked fields are not included in the field hash used by SecurityComponent unlocking a field once its been added to the list of secured fields will remove it from the list of fields.
string|null | $name | The dot separated name for the field. |
Either null, or the list of fields.
None found |
isFieldError(string $field) : boolean
Returns true if there is an error for the given field, otherwise false
string | $field | This should be "modelname.fieldname" |
If there are errors this method returns true, else false.
None found |
error(string $field, string|array|null $text = null, array $options = array()) : string
Returns a formatted error message for given form field, '' if no errors.
Uses the error
, errorList
and errorItem
templates. The errorList
and
errorItem
templates are used to format multiple error messages per field.
escape
boolean - Whether or not to html escape the contents of the error.string | $field | A field name, like "modelname.fieldname" |
string|array|null | $text | Error message as string or array of messages. If an array, it should be a hash of key names => messages. |
array | $options | See above. |
Formatted errors or ''.
None found |
label(string $fieldName, string|null $text = null, array $options = array()) : string
Returns a formatted LABEL element for HTML forms.
Will automatically generate a for
attribute if one is not provided.
for
- Set the for attribute, if its not defined the for attribute
will be generated from the $fieldName parameter using
FormHelper::_domId().escape
- Set to false
to turn off escaping of label text.
Defaults to true
.Examples:
The text and for attribute are generated off of the fieldname
echo $this->Form->label('published');
<label for="PostPublished">Published</label>
Custom text:
echo $this->Form->label('published', 'Publish');
<label for="published">Publish</label>
Custom attributes:
echo $this->Form->label('published', 'Publish', [
'for' => 'post-publish'
]);
<label for="post-publish">Publish</label>
Nesting an input tag:
echo $this->Form->label('published', 'Publish', [
'for' => 'published',
'input' => $this->text('published'),
]);
<label for="post-publish">Publish <input type="text" name="published"></label>
If you want to nest inputs in the labels, you will need to modify the default templates.
string | $fieldName | This should be "modelname.fieldname" |
string|null | $text | Text that will appear in the label field. If $text is left undefined the text will be inflected from the fieldName. |
array | $options | An array of HTML attributes. |
The formatted LABEL element
None found |
allControls(array $fields = array(), array $options = array()) : string
Generate a set of controls for `$fields`. If $fields is empty the fields of current model will be used.
You can customize individual controls through $fields
.
$this->Form->allControls([
'name' => ['label' => 'custom label']
]);
You can exclude fields by specifying them as false
:
$this->Form->allControls(['title' => false]);
In the above example, no field would be generated for the title field.
array | $fields | An array of customizations for the fields that will be generated. This array allows you to set custom types, labels, or other options. |
array | $options | Options array. Valid keys are:
|
Completed form controls.
None found |
allInputs(array $fields = array(), array $options = array()) : string
Generate a set of controls for `$fields`. If $fields is empty the fields of current model will be used.
array | $fields | An array of customizations for the fields that will be generated. This array allows you to set custom types, labels, or other options. |
array | $options | Options array. Valid keys are:
|
Completed form controls.
None found |
controls(array $fields, array $options = array()) : string
Generate a set of controls for `$fields` wrapped in a fieldset element.
You can customize individual controls through $fields
.
$this->Form->controls([
'name' => ['label' => 'custom label'],
'email'
]);
array | $fields | An array of the fields to generate. This array allows you to set custom types, labels, or other options. |
array | $options | Options array. Valid keys are:
|
Completed form inputs.
None found |
inputs(array $fields, array $options = array()) : string
Generate a set of controls for `$fields` wrapped in a fieldset element.
array | $fields | An array of the fields to generate. This array allows you to set custom types, labels, or other options. |
array | $options | Options array. Valid keys are:
|
Completed form inputs.
None found |
fieldset(string $fields = '', array $options = array()) : string
Wrap a set of inputs in a fieldset
string | $fields | the form inputs to wrap in a fieldset |
array | $options | Options array. Valid keys are:
|
Completed form inputs.
None found |
control(string $fieldName, array $options = array()) : string
Generates a form control element complete with label and wrapper div.
See each field type method for more information. Any options that are part of
$attributes or $options for the different type methods can be included in $options
for input().
Additionally, any unknown keys that are not in the list below, or part of the selected type's options
will be treated as a regular HTML attribute for the generated input.
type
- Force the type of widget you want. e.g. type => 'select'
label
- Either a string label, or an array of options for the label. See FormHelper::label().options
- For widgets that take options e.g. radio, select.error
- Control the error message that is produced. Set to false
to disable any kind of error reporting (field
error and error messages).empty
- String or boolean to enable empty select box options.nestedInput
- Used with checkbox and radio inputs. Set to false to render inputs outside of label
elements. Can be set to true on any input to force the input inside the label. If you
enable this option for radio buttons you will also need to modify the default radioWrapper
template.templates
- The templates you want to use for this input. Any templates will be merged on top of
the already loaded templates. This option can either be a filename in /config that contains
the templates you want to load, or an array of templates to use.labelOptions
- Either false
to disable label around nestedWidgets e.g. radio, multicheckbox or an array
of attributes for the label tag. selected
will be added to any classes e.g. class => 'myclass'
where
widget is checkedstring | $fieldName | This should be "modelname.fieldname" |
array | $options | Each type of input takes different options. |
Completed form widget.
None found |
input(string $fieldName, array $options = array()) : string
Generates a form control element complete with label and wrapper div.
string | $fieldName | This should be "modelname.fieldname" |
array | $options | Each type of input takes different options. |
Completed form widget.
None found |
checkbox(string $fieldName, array $options = array()) : string|array
Creates a checkbox input widget.
value
- the value of the checkboxchecked
- boolean indicate that this checkbox is checked.hiddenField
- boolean to indicate if you want the results of checkbox() to include
a hidden input with a value of ''.disabled
- create a disabled input.default
- Set the default value for the checkbox. This allows you to start checkboxes
as checked, without having to check the POST data. A matching POST data value, will overwrite
the default value.string | $fieldName | Name of a field, like this "modelname.fieldname" |
array | $options | Array of HTML attributes. |
An HTML text input element.
None found |
radio(string $fieldName, array|\Traversable $options = array(), array $attributes = array()) : string
Creates a set of radio widgets.
value
- Indicates the value when this radio button is checked.label
- Either false
to disable label around the widget or an array of attributes for
the label tag. selected
will be added to any classes e.g. 'class' => 'myclass'
where widget
is checkedhiddenField
- boolean to indicate if you want the results of radio() to include
a hidden input with a value of ''. This is useful for creating radio sets that are non-continuous.disabled
- Set to true
or disabled
to disable all the radio buttons. Use an array of
values to disable specific radio buttons.empty
- Set to true
to create an input with the value '' as the first option. When true
the radio label will be 'empty'. Set this option to a string to control the label value.string | $fieldName | Name of a field, like this "modelname.fieldname" |
array|\Traversable | $options | Radio button options array. |
array | $attributes | Array of attributes. |
Completed radio widget set.
None found |
textarea(string $fieldName, array $options = array()) : string
Creates a textarea widget.
escape
- Whether or not the contents of the textarea should be escaped. Defaults to true.string | $fieldName | Name of a field, in the form "modelname.fieldname" |
array | $options | Array of HTML attributes, and special options above. |
A generated HTML text input element
None found |
hidden(string $fieldName, array $options = array()) : string
Creates a hidden input field.
string | $fieldName | Name of a field, in the form of "modelname.fieldname" |
array | $options | Array of HTML attributes. |
A generated hidden input
None found |
file(string $fieldName, array $options = array()) : string
Creates file input widget.
string | $fieldName | Name of a field, in the form "modelname.fieldname" |
array | $options | Array of HTML attributes. |
A generated file input.
None found |
button(string $title, array $options = array()) : string
Creates a `<button>` tag.
The type attribute defaults to type="submit"
You can change it to a different value by using $options['type']
.
escape
- HTML entity encode the $title of the button. Defaults to false.confirm
- Confirm message to show. Form execution will only continue if confirmed then.string | $title | The button's caption. Not automatically HTML encoded |
array | $options | Array of options and HTML attributes. |
A HTML button tag.
None found |
postButton(string $title, string|array $url, array $options = array()) : string
Create a `<button>` tag with a surrounding `<form>` that submits via POST as default.
This method creates a <form>
element. So do not use this method in an already opened form.
Instead use FormHelper::submit() or FormHelper::button() to create buttons inside opened forms.
data
- Array with key/value to pass in input hiddenmethod
- Request method to use. Set to 'delete' or others to simulate
HTTP/1.1 DELETE (or others) request. Defaults to 'post'.form
- Array with any option that FormHelper::create() can takeconfirm
- Confirm message to show. Form execution will only continue if confirmed then.string | $title | The button's caption. Not automatically HTML encoded |
string|array | $url | URL as string or array |
array | $options | Array of options and HTML attributes. |
A HTML button tag.
None found |
postLink(string $title, string|array|null $url = null, array $options = array()) : string
Creates an HTML link, but access the URL using the method you specify (defaults to POST). Requires javascript to be enabled in browser.
This method creates a <form>
element. If you want to use this method inside of an
existing form, you must use the block
option so that the new form is being set to
a view block that can be rendered outside of the main form.
If all you are looking for is a button to submit your form, then you should use
FormHelper::button()
or FormHelper::submit()
instead.
data
- Array with key/value to pass in input hiddenmethod
- Request method to use. Set to 'delete' to simulate
HTTP/1.1 DELETE request. Defaults to 'post'.confirm
- Confirm message to show. Form execution will only continue if confirmed then.block
- Set to true to append form to view block "postLink" or provide
custom block name.onclick
will be replaced.string | $title | The content to be wrapped by tags. |
string|array|null | $url | Cake-relative URL or array of URL parameters, or external URL (starts with http://) |
array | $options | Array of HTML attributes. |
An <a />
element.
None found |
submit(string|null $caption = null, array $options = array()) : string
Creates a submit button element. This method will generate `<input />` elements that can be used to submit, and reset forms by using $options. image submits can be created by supplying an image path for $caption.
type
- Set to 'reset' for reset inputs. Defaults to 'submit'templateVars
- Additional template variables for the input element and its container.string|null | $caption | The label appearing on the button OR if string contains :// or the extension .jpg, .jpe, .jpeg, .gif, .png use an image if the extension exists, AND the first character is /, image is relative to webroot, OR if the first character is not /, image is relative to webroot/img. |
array | $options | Array of options. See above. |
A HTML submit button
None found |
select(string $fieldName, array|\Traversable $options = array(), array $attributes = array()) : string
Returns a formatted SELECT element.
multiple
- show a multiple select box. If set to 'checkbox' multiple checkboxes will be
created instead.empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.escape
- If true contents of options will be HTML entity encoded. Defaults to true.val
The selected value of the input.disabled
- Control the disabled attribute. When creating a select box, set to true to disable the
select box. Set to an array to disable specific option elements.A simple array will create normal options:
$options = [1 => 'one', 2 => 'two'];
$this->Form->select('Model.field', $options));
While a nested options array will create optgroups with options inside them.
$options = [
1 => 'bill',
'fred' => [
2 => 'fred',
3 => 'fred jr.'
]
];
$this->Form->select('Model.field', $options);
If you have multiple options that need to have the same value attribute, you can use an array of arrays to express this:
$options = [
['text' => 'United states', 'value' => 'USA'],
['text' => 'USA', 'value' => 'USA'],
];
string | $fieldName | Name attribute of the SELECT |
array|\Traversable | $options | Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element |
array | $attributes | The HTML attributes of the select element. |
Formatted SELECT element
None found |
multiCheckbox(string $fieldName, array|\Traversable $options, array $attributes = array()) : string
Creates a set of checkboxes out of options.
escape
- If true contents of options will be HTML entity encoded. Defaults to true.val
The selected value of the input.class
- When using multiple = checkbox the class name to apply to the divs. Defaults to 'checkbox'.disabled
- Control the disabled attribute. When creating checkboxes, true
will disable all checkboxes.
You can also set disabled to a list of values you want to disable when creating checkboxes.hiddenField
- Set to false to remove the hidden field that ensures a value
is always submitted.label
- Either false
to disable label around the widget or an array of attributes for
the label tag. selected
will be added to any classes e.g. 'class' => 'myclass'
where
widget is checkedCan be used in place of a select box with the multiple attribute.
string | $fieldName | Name attribute of the SELECT |
array|\Traversable | $options | Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the checkboxes element. |
array | $attributes | The HTML attributes of the select element. |
Formatted SELECT element
None found |
day(string|null $fieldName = null, array $options = array()) : string
Returns a SELECT element for days.
empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.value
The selected value of the input.string|null | $fieldName | Prefix name for the SELECT element |
array | $options | Options & HTML attributes for the select element |
A generated day select box.
None found |
year(string $fieldName, array $options = array()) : string
Returns a SELECT element for years
empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.orderYear
- Ordering of year values in select options.
Possible values 'asc', 'desc'. Default 'desc'value
The selected value of the input.maxYear
The max year to appear in the select element.minYear
The min year to appear in the select element.string | $fieldName | Prefix name for the SELECT element |
array | $options | Options & attributes for the select elements. |
Completed year select input
None found |
month(string $fieldName, array $options = array()) : string
Returns a SELECT element for months.
monthNames
- If false, 2 digit numbers will be used instead of text.
If an array, the given array will be used.empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.value
The selected value of the input.string | $fieldName | Prefix name for the SELECT element |
array | $options | Attributes for the select element |
A generated month select dropdown.
None found |
hour(string $fieldName, array $options = array()) : string
Returns a SELECT element for hours.
empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.value
The selected value of the input.format
Set to 12 or 24 to use 12 or 24 hour formatting. Defaults to 24.string | $fieldName | Prefix name for the SELECT element |
array | $options | List of HTML attributes |
Completed hour select input
None found |
minute(string $fieldName, array $options = array()) : string
Returns a SELECT element for minutes.
empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.value
The selected value of the input.interval
The interval that minute options should be created at.round
How you want the value rounded when it does not fit neatly into an
interval. Accepts 'up', 'down', and null.string | $fieldName | Prefix name for the SELECT element |
array | $options | Array of options. |
Completed minute select input.
None found |
meridian(string $fieldName, array $options = array()) : string
Returns a SELECT element for AM or PM.
empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.value
The selected value of the input.string | $fieldName | Prefix name for the SELECT element |
array | $options | Array of options |
Completed meridian select input
None found |
dateTime(string $fieldName, array $options = array()) : string
Returns a set of SELECT elements for a full datetime setup: day, month and year, and then time.
empty
- If true, the empty select option is shown. If a string,
that string is displayed as the empty element.value
| default
The default value to be used by the input. A value in $this->data
matching the field name will override this value. If no default is provided time()
will be used.monthNames
If false, 2 digit numbers will be used instead of text.
If an array, the given array will be used.minYear
The lowest year to use in the year selectmaxYear
The maximum year to use in the year selectorderYear
- Order of year values in select options.
Possible values 'asc', 'desc'. Default 'desc'.empty
- If true, the empty select option is shown. If a string,value
| default
The default value to be used by the input. A value in $this->data
matching the field name will override this value. If no default is provided time()
will be used.timeFormat
The time format to use, either 12 or 24.interval
The interval for the minutes select. Defaults to 1round
- Set to up
or down
if you want to force rounding in either direction. Defaults to null.second
Set to true to enable seconds drop down.To control the order of inputs, and any elements/content between the inputs you
can override the dateWidget
template. By default the dateWidget
template is:
{{month}}{{day}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}
string | $fieldName | Prefix name for the SELECT element |
array | $options | Array of Options |
Generated set of select boxes for the date and time formats chosen.
None found |
time(string $fieldName, array $options = array()) : string
Generate time inputs.
See dateTime() for time options.
string | $fieldName | Prefix name for the SELECT element |
array | $options | Array of Options |
Generated set of select boxes for time formats chosen.
None found |
date(string $fieldName, array $options = array()) : string
Generate date inputs.
See dateTime() for date options.
string | $fieldName | Prefix name for the SELECT element |
array | $options | Array of Options |
Generated set of select boxes for time formats chosen.
None found |
addContextProvider(string $type, callable $check) : void
Add a new context type.
Form context types allow FormHelper to interact with data providers that come from outside CakePHP. For example if you wanted to use an alternative ORM like Doctrine you could create and connect a new context class to allow FormHelper to read metadata from doctrine.
string | $type | The type of context. This key can be used to overwrite existing providers. |
callable | $check | A callable that returns an object when the form context is the correct type. |
None found |
context(\Cake\View\Form\ContextInterface|null $context = null) : \Cake\View\Form\ContextInterface
Get the context instance for the current form set.
If there is no active form null will be returned.
\Cake\View\Form\ContextInterface|null | $context | Either the new context when setting, or null to get. |
The context for the form.
None found |
addWidget(string $name, array|\Cake\View\Widget\WidgetInterface $spec) : void
Add a new widget to FormHelper.
Allows you to add or replace widget instances with custom code.
string | $name | The name of the widget. e.g. 'text'. |
array|\Cake\View\Widget\WidgetInterface | $spec | Either a string class name or an object implementing the WidgetInterface. |
None found |
widget(string $name, array $data = array()) : string
Render a named widget.
This is a lower level method. For built-in widgets, you should be using
methods like text
, hidden
, and radio
. If you are using additional
widgets you should use this method render the widget without the label
or wrapping div.
string | $name | The name of the widget. e.g. 'text'. |
array | $data | The data to render. |
None found |
resetTemplates() : void
Restores the default values built into FormHelper.
This method will not reset any templates set in custom widgets.
None found |
getValueSources() : array
Gets the value sources.
Returns a list, but at least one item, of valid sources, such as: 'context'
, 'data'
and 'query'
.
List of value sources.
None found |
setValueSources(string|array $sources) : $this
Sets the value sources.
Valid values are 'context'
, 'data'
and 'query'
.
You need to supply one valid context or multiple, as a list of strings. Order sets priority.
string|array | $sources | A string or a list of strings identifying a source. |
None found |
getSourceValue(string $fieldname, array|null $options = array()) : string|null
Gets a single field value from the sources available.
string | $fieldname | The fieldname to fetch the value for. |
array|null | $options | The options containing default values. |
Field value derived from sources or defaults.
None found |
text(mixed $fieldName, array $options = []) : string
mixed | $fieldName | |
array | $options |
None found |
number(mixed $fieldName, array $options = []) : string
mixed | $fieldName | |
array | $options |
None found |
email(mixed $fieldName, array $options = []) : string
mixed | $fieldName | |
array | $options |
None found |
password(mixed $fieldName, array $options = []) : string
mixed | $fieldName | |
array | $options |
None found |
search(mixed $fieldName, array $options = []) : string
mixed | $fieldName | |
array | $options |
None found |
None found |
_id(string $name, string $val) : string
Generate an ID attribute for an element.
Ensures that id's for a given set of fields are unique.
string | $name | The ID attribute name. |
string | $val | The ID attribute value. |
Generated id.
None found |
_domId(string $value) : string
Generate an ID suitable for use in an ID attribute.
string | $value | The value to convert into an ID. |
The generated id.
None found |
_buildFieldToken(string $url, array $fields, array $unlockedFields = array()) : array
Generate the token data for the provided inputs.
string | $url | The URL the form is being submitted to. |
array | $fields | If set specifies the list of fields to use when generating the hash. |
array | $unlockedFields | The list of fields that are excluded from field validation. |
The token data.
None found |
_confirm(string $message, string $okCode, string $cancelCode = '', array $options = array()) : string
Returns a string to be used as onclick handler for confirm dialogs.
string | $message | Message to be displayed |
string | $okCode | Code to be executed after user chose 'OK' |
string | $cancelCode | Code to be executed after user chose 'Cancel' |
array | $options | Array of options |
onclick JS code
None found |
_cleanConfirmMessage(string $message) : mixed
Returns a string read to be used in confirm()
string | $message | The message to clean |
None found |
_configRead(string|null $key) : mixed
Reads a config key.
string|null | $key | Key to read. |
None found |
_configWrite(string|array $key, mixed $value, boolean|string $merge = false) : void
Writes a config key.
string|array | $key | Key to write to. |
mixed | $value | Value to write. |
boolean|string | $merge | True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false. |
if attempting to clobber existing config
None found |
_configDelete(string $key) : void
Deletes a single config key.
string | $key | Key to delete. |
if attempting to clobber existing config
None found |
_formUrl(\Cake\View\Form\ContextInterface $context, array $options) : string|array
Create the URL for a form based on the options.
\Cake\View\Form\ContextInterface | $context | The context object to use. |
array | $options | An array of options from create() |
The action attribute for the form.
None found |
_lastAction(string|array $url) : void
Correctly store the last created form action URL.
string|array | $url | The URL of the last form. |
None found |
_csrfField() : string
Return a CSRF input if the request data is present.
Used to secure forms in conjunction with CsrfComponent & SecurityComponent
None found |
_secure(boolean $lock, string|array $field, mixed $value = null) : void
Determine which fields of a form should be used for hash.
Populates $this->fields
boolean | $lock | Whether this field should be part of the validation or excluded as part of the unlockedFields. |
string|array | $field | Reference to field to be secured. Can be dot separated string to indicate nesting or array of fieldname parts. |
mixed | $value | Field value, if value should not be tampered with. |
None found |
_groupTemplate(array $options) : string
Generates an group template element
array | $options | The options for group template |
The generated group template
None found |
_inputContainerTemplate(array $options) : string
Generates an input container template
array | $options | The options for input container template |
The generated input container template
None found |
_getInput(string $fieldName, array $options) : string
Generates an input element
string | $fieldName | the field name |
array | $options | The options for the input element |
The generated input element
None found |
_parseOptions(string $fieldName, array $options) : array
Generates input options array
string | $fieldName | The name of the field to parse options for. |
array | $options | Options list. |
Options
None found |
_inputType(string $fieldName, array $options) : string
Returns the input type that was guessed for the provided fieldName, based on the internal type it is associated too, its name and the variables that can be found in the view template
string | $fieldName | the name of the field to guess a type for |
array | $options | the options passed to the input method |
None found |
_optionsOptions(string $fieldName, array $options) : array
Selects the variable containing the options for a select field if present, and sets the value to the 'options' key in the options array.
string | $fieldName | The name of the field to find options for. |
array | $options | Options list. |
None found |
_magicOptions(string $fieldName, array $options, boolean $allowOverride) : array
Magically set option type and corresponding options
string | $fieldName | The name of the field to generate options for. |
array | $options | Options list. |
boolean | $allowOverride | Whether or not it is allowed for this method to overwrite the 'type' key in options. |
None found |
_getLabel(string $fieldName, array $options) : boolean|string
Generate label for input
string | $fieldName | The name of the field to generate label for. |
array | $options | Options list. |
false or Generated label element
None found |
_extractOption(string $name, array $options, mixed $default = null) : mixed
Extracts a single option from an options array.
string | $name | The name of the option to pull out. |
array | $options | The array of options you want to extract. |
mixed | $default | The default option value |
the contents of the option or default
None found |
_inputLabel(string $fieldName, string $label, array $options) : string
Generate a label for an input() call.
$options can contain a hash of id overrides. These overrides will be used instead of the generated values if present.
string | $fieldName | The name of the field to generate label for. |
string | $label | Label text. |
array | $options | Options for the label element. |
Generated label element
None found |
_singleDatetime(array $options, string $keep) : array
Helper method for the various single datetime component methods.
array | $options | The options array. |
string | $keep | The option to not disable. |
None found |
_datetimeOptions(array $options) : array
Helper method for converting from FormHelper options data to widget format.
array | $options | Options to convert. |
Converted options.
None found |
_initInputField(string $field, array $options = array()) : array
Sets field defaults and adds field to form security input hash.
Will also add the error class if the field contains validation errors.
secure
- boolean whether or not the field should be added to the security fields.
Disabling the field using the disabled
option, will also omit the field from being
part of the hashed key.default
- mixed - The value to use if there is no value in the form's context.disabled
- mixed - Either a boolean indicating disabled state, or the string in
a numerically indexed value.id
- mixed - If true
it will be auto generated based on field name.This method will convert a numerically indexed 'disabled' into an associative array value. FormHelper's internals expect associative options.
The output of this function is a more complete set of input attributes that can be passed to a form widget to generate the actual input.
string | $field | Name of the field to initialize options for. |
array | $options | Array of options to append options into. |
Array of options for the input.
None found |
_isDisabled(array $options) : boolean
Determine if a field is disabled.
array | $options | The option set. |
Whether or not the field is disabled.
None found |
_secureFieldName(string $name) : array
Get the field name for use with _secure().
Parses the name attribute to create a dot separated name value for use in secured field hash. If filename is of form Model[field] an array of fieldname parts like ['Model', 'field'] is returned.
string | $name | The form inputs name attribute. |
Array of field name params like ['Model.field'] or ['Model', 'field'] for array fields or empty array if $name is empty.
None found |
_getContext(mixed $data = array()) : \Cake\View\Form\ContextInterface
Find the matching context provider for the data.
If no type can be matched a NullContext will be returned.
mixed | $data | The data to get a context provider for. |
when the context class does not implement the ContextInterface.
Context provider.
None found |