Class FormHelper
Form helper library.
Automatic generation of HTML FORMs from given data.
- Cake\View\Helper implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait
- Cake\View\Helper\FormHelper uses Cake\View\Helper\IdGeneratorTrait, Cake\View\Helper\SecureFieldTokenTrait, Cake\View\StringTemplateTrait
Link: http://book.cakephp.org/3.0/en/views/helpers/form.html
Located at View/Helper/FormHelper.php
Method Detail
__callsource public
__call( string $method , array $params )
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" />
Usage
$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.
Parameters
- string
$method
- Method name / input type to make.
- array
$params
- Parameters for the method call
Returns
string
Formatted input method.
Throws
Cake\Core\Exception\Exception
When there are no params for the method call.
Overrides
Cake\View\Helper::__call()
__constructsource public
__construct( Cake\View\View $View , array $config [] )
Construct the widgets and binds the default context providers
Parameters
-
Cake\View\View
$View
- The View this helper is being attached to.
- array
$config
optional [] - Configuration settings for the helper.
Overrides
Cake\View\Helper::__construct()
_addDefaultContextProviderssource protected
_addDefaultContextProviders( )
Add the default suite of context providers provided by CakePHP.
_csrfFieldsource protected
_csrfField( )
Return a CSRF input if the request data is present. Used to secure forms in conjunction with CsrfComponent & SecurityComponent
Returns
string
string
_datetimeOptionssource protected
_datetimeOptions( array $options )
Helper method for converting from FormHelper options data to widget format.
Parameters
- array
$options
- Options to convert.
Returns
array
Converted options.
_extractOptionsource protected
_extractOption( string $name , array $options , mixed $default null )
Extracts a single option from an options array.
Parameters
- string
$name
- The name of the option to pull out.
- array
$options
- The array of options you want to extract.
- mixed
$default
optional null - The default option value
Returns
mixed
the contents of the option or default
_formUrlsource protected
_formUrl( Cake\View\Form\ContextInterface $context , array $options )
Create the URL for a form based on the options.
Parameters
-
Cake\View\Form\ContextInterface
$context
- The context object to use.
- array
$options
- An array of options from create()
Returns
string
The action attribute for the form.
_getContextsource protected
_getContext( mixed $data [] )
Find the matching context provider for the data.
If no type can be matched a NullContext will be returned.
Parameters
- mixed
$data
optional [] - The data to get a context provider for.
Returns
mixed
Context provider.
Throws
RuntimeException
when the context class does not implement the ContextInterface.
_getInputsource protected
_getInput( string $fieldName , array $options )
Generates an input element
Parameters
- string
$fieldName
- the field name
- array
$options
- The options for the input element
Returns
string
The generated input element
_getLabelsource protected
_getLabel( string $fieldName , array $options )
Generate label for input
Parameters
- string
$fieldName
- The name of the field to generate label for.
- array
$options
- Options list.
Returns
boolean|string
false or Generated label element
_groupTemplatesource protected
_groupTemplate( array $options )
Generates an group template element
Parameters
- array
$options
- The options for group template
Returns
string
The generated group template
_initInputFieldsource protected
_initInputField( string $field , array $options [] )
Sets field defaults and adds field to form security input hash. Will also add the error class if the field contains validation errors.
Options
-
secure
- boolean whether or not the field should be added to the security fields. Disabling the field using thedisabled
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.
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.
Parameters
- string
$field
- Name of the field to initialize options for.
- array
$options
optional [] - Array of options to append options into.
Returns
array
Array of options for the input.
_inputContainerTemplatesource protected
_inputContainerTemplate( array $options )
Generates an input container template
Parameters
- array
$options
- The options for input container template
Returns
string
The generated input container template
_inputLabelsource protected
_inputLabel( string $fieldName , string $label , array $options )
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.
Parameters
- string
$fieldName
- The name of the field to generate label for.
- string
$label
- Label text.
- array
$options
- Options for the label element.
Returns
string
Generated label element
_inputTypesource protected
_inputType( string $fieldName , array $options )
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
Parameters
- string
$fieldName
- the name of the field to guess a type for
- array
$options
- the options passed to the input method
Returns
string
string
_isRequiredFieldsource protected
_isRequiredField( Cake\Validation\ValidationSet $validationRules )
Returns if a field is required to be filled based on validation properties from the validating object.
Parameters
-
Cake\Validation\ValidationSet
$validationRules
- Validation rules set.
Returns
boolean
true if field is required to be filled, false otherwise
_lastActionsource protected
_lastAction( string|array $url )
Correctly store the last created form action URL.
Parameters
- string|array
$url
- The URL of the last form.
_magicOptionssource protected
_magicOptions( string $fieldName , array $options , boolean $allowOverride )
Magically set option type and corresponding options
Parameters
- 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.
Returns
array
array
_optionsOptionssource protected
_optionsOptions( string $fieldName , array $options )
Selects the variable containing the options for a select field if present, and sets the value to the 'options' key in the options array.
Parameters
- string
$fieldName
- The name of the field to find options for.
- array
$options
- Options list.
Returns
array
array
_parseOptionssource protected
_parseOptions( string $fieldName , array $options )
Generates input options array
Parameters
- string
$fieldName
- The name of the field to parse options for.
- array
$options
- Options list.
Returns
array
Options
_securesource protected
_secure( boolean $lock , string|array $field , mixed $value null )
Determine which fields of a form should be used for hash. Populates $this->fields
Parameters
- 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
optional null - Field value, if value should not be tampered with.
_secureFieldNamesource protected
_secureFieldName( string $name )
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.
Parameters
- string
$name
- The form inputs name attribute.
Returns
array
Array of field name params like ['Model.field'] or ['Model', 'field'] for array fields or empty array if $name is empty.
_singleDatetimesource protected
_singleDatetime( array $options , string $keep )
Helper method for the various single datetime component methods.
Parameters
- array
$options
- The options array.
- string
$keep
- The option to not disable.
Returns
array
array
addContextProvidersource public
addContextProvider( string $type , callable $check )
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.
Parameters
- 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.
addWidgetsource public
addWidget( string $name , array|Cake\View\Widget\WidgetInterface $spec )
Add a new widget to FormHelper.
Allows you to add or replace widget instances with custom code.
Parameters
- 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.
allInputssource public
allInputs( array $fields [] , array $options [] )
Generate a set of inputs for $fields
. If $fields is empty the fields of current model will be used.
You can customize individual inputs through $fields
.
$this->Form->allInputs([ 'name' => ['label' => 'custom label'] ]);
You can exclude fields by specifying them as false:
$this->Form->allInputs(['title' => false]);
In the above example, no field would be generated for the title field.
Parameters
- array
$fields
optional [] - 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
optional [] - Options array. Valid keys are: -
fieldset
Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled -legend
Set to false to disable the legend for the generated input set. Or supply a string to customize the legend text.
Returns
string
Completed form inputs.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#generating-entire-formsbuttonsource public
button( string $title , array $options [] )
Creates a <button>
tag.
The type attribute defaults to type="submit"
You can change it to a different value by using $options['type']
.
Options:
-
escape
- HTML entity encode the $title of the button. Defaults to false.
Parameters
- string
$title
- The button's caption. Not automatically HTML encoded
- array
$options
optional [] - Array of options and HTML attributes.
Returns
string
A HTML button tag.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-button-elementscheckboxsource public
checkbox( string $fieldName , array $options [] )
Creates a checkbox input widget.
Options:
-
value
- the value of the checkbox -
checked
- 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.
Parameters
- string
$fieldName
- Name of a field, like this "modelname.fieldname"
- array
$options
optional [] - Array of HTML attributes.
Returns
string|array
An HTML text input element.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-checkboxescontextsource public
context( Cake\View\Form\ContextInterface|null $context null )
Get the context instance for the current form set.
If there is no active form null will be returned.
Parameters
-
Cake\View\Form\ContextInterface
|null$context
optional null - Either the new context when setting, or null to get.
Returns
null|Cake\View\Form\ContextInterface
The context for the form.
createsource public
create( mixed $model null , array $options [] )
Returns an HTML FORM element.
Options:
-
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. -
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. -
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 toConfigure::read('App.encoding')
-
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.
Parameters
- mixed
$model
optional null - The context for which the form is being defined. Can be an ORM entity, ORM resultset, or an array of meta data. You can use false or null to make a model-less form.
- array
$options
optional [] - An array of html attributes and options.
Returns
string
An formatted opening FORM tag.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#Cake\View\Helper\FormHelper::createdatesource public
date( string $fieldName , array $options [] )
Generate date inputs.
Options:
See dateTime() for date options.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Array of Options
Returns
string
Generated set of select boxes for time formats chosen.
See
Cake\View\Helper\FormHelper::dateTime() for templating options.dateTimesource public
dateTime( string $fieldName , array $options [] )
Returns a set of SELECT elements for a full datetime setup: day, month and year, and then time.
Date Options:
-
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 providedtime()
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 select -
maxYear
The maximum year to use in the year select -
orderYear
- Order of year values in select options. Possible values 'asc', 'desc'. Default 'desc'.
Time options:
-
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 providedtime()
will be used. -
timeFormat
The time format to use, either 12 or 24. -
interval
The interval for the minutes select. Defaults to 1 -
round
- Set toup
ordown
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}}
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Array of Options
Returns
string
Generated set of select boxes for the date and time formats chosen.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-date-and-time-inputsdaysource public
day( string $fieldName null , array $options [] )
Returns a SELECT element for days.
Options:
-
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.
Parameters
- string
$fieldName
optional null - Prefix name for the SELECT element
- array
$options
optional [] - Options & HTML attributes for the select element
Returns
string
A generated day select box.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-day-inputsendsource public
end( array $secureAttributes [] )
Closes an HTML form, cleans up values set by FormHelper::create(), and writes hidden input fields where appropriate.
Parameters
- array
$secureAttributes
optional [] - Secure attributes which will be passed as HTML attributes into the hidden input elements generated for the Security Component.
Returns
string
A closing FORM tag.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#closing-the-formerrorsource public
error( string $field , string|array $text null , array $options [] )
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.
Options:
-
escape
boolean - Whether or not to html escape the contents of the error.
Parameters
- string
$field
- A field name, like "modelname.fieldname"
- string|array
$text
optional null - Error message as string or array of messages. If an array, it should be a hash of key names => messages.
- array
$options
optional [] - See above.
Returns
string
Formatted errors or ''.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#displaying-and-checking-errorsfieldsetsource public
fieldset( string $fields '' , array $options [] )
Wrap a set of inputs in a fieldset
Parameters
- string
$fields
optional '' - the form inputs to wrap in a fieldset
- array
$options
optional [] - Options array. Valid keys are: -
fieldset
Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled -legend
Set to false to disable the legend for the generated input set. Or supply a string to customize the legend text.
Returns
string
Completed form inputs.
filesource public
file( string $fieldName , array $options [] )
Creates file input widget.
Parameters
- string
$fieldName
- Name of a field, in the form "modelname.fieldname"
- array
$options
optional [] - Array of HTML attributes.
Returns
string
A generated file input.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-file-inputshiddensource public
hidden( string $fieldName , array $options [] )
Creates a hidden input field.
Parameters
- string
$fieldName
- Name of a field, in the form of "modelname.fieldname"
- array
$options
optional [] - Array of HTML attributes.
Returns
string
A generated hidden input
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-hidden-inputshoursource public
hour( string $fieldName , array $options [] )
Returns a SELECT element for hours.
Attributes:
-
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.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - List of HTML attributes
Returns
string
Completed hour select input
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-hour-inputsimplementedEventssource public
implementedEvents( )
Event listeners.
Returns
array
array
Overrides
Cake\View\Helper::implementedEvents()
inputsource public
input( string $fieldName , array $options [] )
Generates a form input element complete with label and wrapper div
Options
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 tofalse
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 defaultradioWrapper
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.
Parameters
- string
$fieldName
- This should be "modelname.fieldname"
- array
$options
optional [] - Each type of input takes different options.
Returns
string
Completed form widget.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-form-inputsinputssource public
inputs( array $fields , array $options [] )
Generate a set of inputs for $fields
wrapped in a fieldset element.
You can customize individual inputs through $fields
.
$this->Form->inputs([ 'name' => ['label' => 'custom label'], 'email' ]);
Parameters
- array
$fields
- An array of the fields to generate. This array allows you to set custom types, labels, or other options.
- array
$options
optional [] - Options array. Valid keys are: -
fieldset
Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled -legend
Set to false to disable the legend for the generated input set. Or supply a string to customize the legend text.
Returns
string
Completed form inputs.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#generating-entire-formsisFieldErrorsource public
isFieldError( string $field )
Returns true if there is an error for the given field, otherwise false
Parameters
- string
$field
- This should be "modelname.fieldname"
Returns
boolean
If there are errors this method returns true, else false.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#displaying-and-checking-errorslabelsource public
label( string $fieldName , string $text null , array $options [] )
Returns a formatted LABEL element for HTML forms.
Will automatically generate a for
attribute if one is not provided.
Options
-
for
- Set the for attribute, if its not defined the for attribute will be generated from the $fieldName parameter using FormHelper::_domId().
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.
Parameters
- string
$fieldName
- This should be "modelname.fieldname"
- string
$text
optional null - Text that will appear in the label field. If $text is left undefined the text will be inflected from the fieldName.
- array
$options
optional [] - An array of HTML attributes.
Returns
string
The formatted LABEL element
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-labelsmeridiansource public
meridian( string $fieldName , array $options [] )
Returns a SELECT element for AM or PM.
Attributes:
-
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.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Array of options
Returns
string
Completed meridian select input
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-meridian-inputsminutesource public
minute( string $fieldName , array $options [] )
Returns a SELECT element for minutes.
Attributes:
-
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.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Array of options.
Returns
string
Completed minute select input.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-minute-inputsmonthsource public
month( string $fieldName , array $options [] )
Returns a SELECT element for months.
Options:
-
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.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Attributes for the select element
Returns
string
A generated month select dropdown.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-month-inputsmultiCheckboxsource public
multiCheckbox( string $fieldName , array|Traversable $options , array $attributes [] )
Creates a set of checkboxes out of options.
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.
Can be used in place of a select box with the multiple attribute.
Parameters
- 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
optional [] - The HTML attributes of the select element.
Returns
string
Formatted SELECT element
See
\Cake\View\Helper\FormHelper::select() for supported option formats.postButtonsource public
postButton( string $title , string|array $url , array $options [] )
Create a <button>
tag with a surrounding <form>
that submits via POST.
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.
Options:
-
data
- Array with key/value to pass in input hidden - Other options is the same of button method.
Parameters
- string
$title
- The button's caption. Not automatically HTML encoded
- string|array
$url
- URL as string or array
- array
$options
optional [] - Array of options and HTML attributes.
Returns
string
A HTML button tag.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-standalone-buttons-and-post-linkspostLinksource public
postLink( string $title , string|array $url null , array $options [] )
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.
Options:
-
data
- Array with key/value to pass in input hidden -
method
- Request method to use. Set to 'delete' to simulate HTTP/1.1 DELETE request. Defaults to 'post'. -
confirm
- Confirm message to show. -
block
- Set to true to append form to view block "postLink" or provide custom block name. - Other options are the same of HtmlHelper::link() method.
- The option
onclick
will be replaced.
Parameters
- string
$title
- The content to be wrapped by <a> tags.
- string|array
$url
optional null - Cake-relative URL or array of URL parameters, or external URL (starts with http://)
- array
$options
optional [] - Array of HTML attributes.
Returns
string
An
<a />
element.Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-standalone-buttons-and-post-linksradiosource public
radio( string $fieldName , array|Traversable $options [] , array $attributes [] )
Creates a set of radio widgets.
Attributes:
-
value
- Indicates the value when this radio button is checked. -
label
- boolean to indicate whether or not labels for widgets should be displayed. -
hiddenField
- 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 totrue
ordisabled
to disable all the radio buttons. -
empty
- Set totrue
to create an input with the value '' as the first option. Whentrue
the radio label will be 'empty'. Set this option to a string to control the label value.
Parameters
- string
$fieldName
- Name of a field, like this "modelname.fieldname"
- array|Traversable
$options
optional [] - Radio button options array.
- array
$attributes
optional [] - Array of attributes.
Returns
string
Completed radio widget set.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-radio-buttonsresetTemplatessource public
resetTemplates( )
Restores the default values built into FormHelper.
This method will not reset any templates set in custom widgets.
securesource public
secure( array $fields [] , array $secureAttributes [] )
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'.
Parameters
- array
$fields
optional [] - If set specifies the list of fields to use when generating the hash, else $this->fields is being used.
- array
$secureAttributes
optional [] - will be passed as HTML attributes into the hidden input elements generated for the Security Component.
Returns
string|null
A hidden input field with a security hash
selectsource public
select( string $fieldName , array|Traversable $options [] , array $attributes [] )
Returns a formatted SELECT element.
Attributes:
-
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.
Using options
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'], ];
Parameters
- string
$fieldName
- Name attribute of the SELECT
- array|Traversable
$options
optional [] - Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element
- array
$attributes
optional [] - The HTML attributes of the select element.
Returns
string
Formatted SELECT element
See
\Cake\View\Helper\FormHelper::multiCheckbox() for creating multiple checkboxes.Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-select-pickerssubmitsource public
submit( string $caption null , array $options [] )
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.
Options
-
type
- Set to 'reset' for reset inputs. Defaults to 'submit' -
templateVars
- Additional template variables for the input element and its container. - Other attributes will be assigned to the input element.
Parameters
- string
$caption
optional null - 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
optional [] - Array of options. See above.
Returns
string
A HTML submit button
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-buttons-and-submit-elementstextareasource public
textarea( string $fieldName , array $options [] )
Creates a textarea widget.
Options:
-
escape
- Whether or not the contents of the textarea should be escaped. Defaults to true.
Parameters
- string
$fieldName
- Name of a field, in the form "modelname.fieldname"
- array
$options
optional [] - Array of HTML attributes, and special options above.
Returns
string
A generated HTML text input element
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-textareastimesource public
time( string $fieldName , array $options [] )
Generate time inputs.
Options:
See dateTime() for time options.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Array of Options
Returns
string
Generated set of select boxes for time formats chosen.
See
Cake\View\Helper\FormHelper::dateTime() for templating options.unlockFieldsource public
unlockField( string|null $name 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.
Parameters
- string|null
$name
optional null - The dot separated name for the field.
Returns
array|null
Either null, or the list of fields.
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#working-with-securitycomponentwidgetsource public
widget( string $name , array $data [] )
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.
Parameters
- string
$name
- The name of the widget. e.g. 'text'.
- array
$data
optional [] - The data to render.
Returns
string
string
widgetRegistrysource public
widgetRegistry( Cake\View\Widget\WidgetRegistry $instance null , array $widgets [] )
Set the widget registry the helper will use.
Parameters
-
Cake\View\Widget\WidgetRegistry
$instance
optional null - The registry instance to set.
- array
$widgets
optional [] - An array of widgets
Returns
Cake\View\Widget\WidgetRegistry
\Cake\View\Widget\WidgetRegistry
yearsource public
year( string $fieldName , array $options [] )
Returns a SELECT element for years
Attributes:
-
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.
Parameters
- string
$fieldName
- Prefix name for the SELECT element
- array
$options
optional [] - Options & attributes for the select elements.
Returns
string
Completed year select input
Link
http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-year-inputsMethods inherited from Cake\View\Helper
__debugInfosource public
__debugInfo( )
Returns an array that can be used to describe the internal state of this object.
Returns
array
array
__getsource public
__get( string $name )
Lazy loads helpers.
Parameters
- string
$name
- Name of the property being accessed.
Returns
Cake\View\Helper|null
Helper instance if helper with provided name exists
_confirmsource protected
_confirm( string $message , string $okCode , string $cancelCode '' , array $options [] )
Returns a string to be used as onclick handler for confirm dialogs.
Parameters
- string
$message
- Message to be displayed
- string
$okCode
- Code to be executed after user chose 'OK'
- string
$cancelCode
optional '' - Code to be executed after user chose 'Cancel'
- array
$options
optional [] - Array of options
Returns
string
onclick JS code
addClasssource public
addClass( array $options [] , string $class null , string $key 'class' )
Adds the given class to the element options
Parameters
- array
$options
optional [] - Array options/attributes to add a class to
- string
$class
optional null - The class name being added.
- string
$key
optional 'class' - the key to use for class.
Returns
array
Array of options with $key set.
Methods used from Cake\View\Helper\IdGeneratorTrait
_domIdsource protected
_domId( string $value )
Generate an ID suitable for use in an ID attribute.
Parameters
- string
$value
- The value to convert into an ID.
Returns
string
The generated id.
_idsource protected
_id( string $name , string $val )
Generate an ID attribute for an element.
Ensures that id's for a given set of fields are unique.
Parameters
- string
$name
- The ID attribute name.
- string
$val
- The ID attribute value.
Returns
string
Generated id.
Methods used from Cake\View\Helper\SecureFieldTokenTrait
_buildFieldTokensource protected
_buildFieldToken( string $url , array $fields , array $unlockedFields [] )
Generate the token data for the provided inputs.
Parameters
- 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
optional [] - The list of fields that are excluded from field validation.
Returns
array
The token data.
Methods used from Cake\View\StringTemplateTrait
formatTemplatesource public
formatTemplate( string $name , array $data )
Format a template string with $data
Parameters
- string
$name
- The template name.
- array
$data
- The data to insert.
Returns
string
string
templatersource public
templater( )
templater
Returns
Cake\View\StringTemplate
\Cake\View\StringTemplate
templatessource public
templates( string|null|array $templates null )
Get/set templates to use.
Parameters
- string|null|array
$templates
optional null - null or string allow reading templates. An array allows templates to be added.
Returns
mixed
$this|string|array
Methods used from Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Delete a single config key
Parameters
- string
$key
- Key to delete.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config
_configReadsource protected
_configRead( string|null $key )
Read a config variable
Parameters
- string|null
$key
- Key to read.
Returns
mixed
mixed
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Write a config variable
Parameters
- string|array
$key
- Key to write to.
- mixed
$value
- Value to write.
- boolean|string
$merge
optional false - True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config
configsource public
config( string|array|null $key null , mixed|null $value null , boolean $merge true )
Usage
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']);
Parameters
- string|array|null
$key
optional null - The key to get/set, or a complete array of configs.
- mixed|null
$value
optional null - The value to set.
- boolean
$merge
optional true - Whether to recursively merge or overwrite existing config, defaults to true.
Returns
mixed
Config value being read, or the object itself on write operations.
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.
configShallowsource public
configShallow( string|array $key , mixed|null $value null )
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->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']);
Parameters
- string|array
$key
- The key to set, or a complete array of configs.
- mixed|null
$value
optional null - The value to set.
Returns
mixed
$this The object itself.
Constants summary
string | SECURE_SKIP Constant used internally to skip the securing process, and neither add the field to the hash or to the unlocked fields. | 'skip' |
Properties summary
Properties inherited from Cake\View\Helper
$fieldsetsource
public array
Holds the fields ['field_name' => ['type' => 'string', 'length' => 100]], primaryKey and validates ['field_name']
[]
Properties used from Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Whether the config property has already been configured with defaults
false
Properties used from Cake\View\Helper\IdGeneratorTrait
Properties used from Cake\View\StringTemplateTrait
Magic properties summary
$Htmlsource
public Cake\View\Helper\HtmlHelper
$Urlsource
public Cake\View\Helper\UrlHelper
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.Helper.FormHelper.html