Form helper library.
Automatic generation of HTML FORMs from given data.
string
'skip' $_context protected $_contextFactory protected $_datetimeOptions protected array$_datetimeParts protected array$_defaultConfig protected array$_defaultWidgets protected array$_lastAction protected stringThe action attribute value of the last created form. Used to make form/request specific hashes for SecurityComponent.
$_registry protected $_unlockedFields protected arrayAn array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method
$_valueSources protected array$fields public array$helpers public array$requestType public string|null_View, _helperMap, fieldset, plugin, request, tags, theme _config, _configInitialized _idPrefix, _idSuffixes _templater 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" />
Return a CSRF input if the request data is present. Used to secure forms in conjunction with CsrfComponent & SecurityComponent
Sets field defaults and adds field to form security input hash. Will also add the error class if the field contains validation errors.
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
Selects the variable containing the options for a select field if present, and sets the value to the 'options' key in the options array.
Determine which fields of a form should be used for hash. Populates $this->fields
Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.
Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.
<button> tag. $fields wrapped in a fieldset element. Closes an HTML form, cleans up values set by FormHelper::create(), and writes hidden input fields where appropriate.
$fields wrapped in a fieldset element. <button> tag with a surrounding <form> that submits via POST as default. Creates an HTML link, but access the URL using the method you specify (defaults to POST). Requires javascript to be enabled in browser.
Generates a hidden field with a security hash based on the fields used in the form.
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.
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.
__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" />
$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.
$method $params Cake\Core\Exception\ExceptionCake\View\Helper::__call() __construct( Cake\View\View $View , array $config [] )
Construct the widgets and binds the default context providers
Cake\View\View $View $config optional [] Cake\View\Helper::__construct() _csrfField( )
Return a CSRF input if the request data is present. Used to secure forms in conjunction with CsrfComponent & SecurityComponent
_datetimeOptions( array $options )
Helper method for converting from FormHelper options data to widget format.
$options _extractOption( string $name , array $options , mixed $default null )
Extracts a single option from an options array.
$name $options $default optional null _formUrl( Cake\View\Form\ContextInterface $context , array $options )
Create the URL for a form based on the options.
Cake\View\Form\ContextInterface $context $options _getContext( mixed $data [] )
Find the matching context provider for the data.
If no type can be matched a NullContext will be returned.
$data optional [] Cake\View\Form\ContextInterfacewhen the context class does not implement the ContextInterface.
_getInput( string $fieldName , array $options )
Generates an input element
$fieldName $options _getLabel( string $fieldName , array $options )
Generate label for input
$fieldName $options _groupTemplate( array $options )
Generates an group template element
$options _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.
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.
$field $options optional [] _inputContainerTemplate( array $options )
Generates an input container template
$options _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.
$fieldName $label $options _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
$fieldName $options _isDisabled( array $options )
Determine if a field is disabled.
$options _lastAction( string|array $url )
Correctly store the last created form action URL.
$url _magicOptions( string $fieldName , array $options , boolean $allowOverride )
Magically set option type and corresponding options
$fieldName $options $allowOverride Whether or not it is allowed for this method to overwrite the 'type' key in options.
_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.
$fieldName $options _parseOptions( string $fieldName , array $options )
Generates input options array
$fieldName $options _secure( boolean $lock , string|array $field , mixed $value null )
Determine which fields of a form should be used for hash. Populates $this->fields
$lock Whether this field should be part of the validation or excluded as part of the unlockedFields.
$field Reference to field to be secured. Can be dot separated string to indicate nesting or array of fieldname parts.
$value optional null _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.
$name Array of field name params like ['Model.field'] or ['Model', 'field'] for array fields or empty array if $name is empty.
_singleDatetime( array $options , string $keep )
Helper method for the various single datetime component methods.
$options $keep 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.
$type The type of context. This key can be used to overwrite existing providers.
$check A callable that returns an object when the form context is the correct type.
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.
$name Cake\View\Widget\WidgetInterface $spec Either a string class name or an object implementing the WidgetInterface.
allControls( array $fields [] , array $options [] )
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.
$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.
$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 control set. Or supply a string to customize the legend text.
allInputs( array $fields [] , array $options [] )
Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.
$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.
$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 control set. Or supply a string to customize the legend text.
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'].
escape - HTML entity encode the $title of the button. Defaults to false.$title $options optional [] checkbox( string $fieldName , array $options [] )
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.$fieldName $options optional [] 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.
Cake\View\Form\ContextInterface|null $context optional null Cake\View\Form\ContextInterfacecontextFactory( Cake\View\Form\ContextFactory $instance null , array $contexts [] )
Set the context factory the helper will use.
Cake\View\Form\ContextFactory $instance optional null $contexts optional [] Cake\View\Form\ContextFactorycontrol( string $fieldName , array $options [] )
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 checked$fieldName $options optional [] controls( array $fields , array $options [] )
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' ]);
$fields An array of the fields to generate. This array allows you to set custom types, labels, or other options.
$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.
create( mixed $context null , array $options [] )
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.$context optional null 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.
$options optional [] date( string $fieldName , array $options [] )
Generate date inputs.
See dateTime() for date options.
$fieldName $options optional [] dateTime( string $fieldName , array $options [] )
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}}
$fieldName $options optional [] day( string|null $fieldName null , array $options [] )
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.$fieldName optional null $options optional [] end( array $secureAttributes [] )
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.
$secureAttributes optional [] Secure attributes which will be passed as HTML attributes into the hidden input elements generated for the Security Component.
error( string $field , string|array|null $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.
escape boolean - Whether or not to html escape the contents of the error.$field $text optional null Error message as string or array of messages. If an array, it should be a hash of key names => messages.
$options optional [] fieldset( string $fields '' , array $options [] )
Wrap a set of inputs in a fieldset
$fields optional '' $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.
file( string $fieldName , array $options [] )
Creates file input widget.
$fieldName $options optional [] getSourceValue( string $fieldname , array|null $options [] )
Gets a single field value from the sources available.
$fieldname $options optional [] getValueSources( )
Gets the value sources.
Returns a list, but at least one item, of valid sources, such as: 'context', 'data' and 'query'.
hidden( string $fieldName , array $options [] )
Creates a hidden input field.
$fieldName $options optional [] hour( string $fieldName , array $options [] )
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.$fieldName $options optional [] implementedEvents( )
Event listeners.
Cake\View\Helper::implementedEvents() input( string $fieldName , array $options [] )
Generates a form control element complete with label and wrapper div.
$fieldName $options optional [] inputs( array $fields , array $options [] )
Generate a set of controls for $fields wrapped in a fieldset element.
$fields An array of the fields to generate. This array allows you to set custom types, labels, or other options.
$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.
isFieldError( string $field )
Returns true if there is an error for the given field, otherwise false
$field label( string $fieldName , string|null $text null , array $options [] )
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().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.
$fieldName $text optional null Text that will appear in the label field. If $text is left undefined the text will be inflected from the fieldName.
$options optional [] meridian( string $fieldName , array $options [] )
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.$fieldName $options optional [] minute( string $fieldName , array $options [] )
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.$fieldName $options optional [] month( string $fieldName , array $options [] )
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.$fieldName $options optional [] multiCheckbox( string $fieldName , array|Traversable $options , array $attributes [] )
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.
$fieldName $options Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the checkboxes element.
$attributes optional [] postButton( string $title , string|array $url , array $options [] )
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 take$title $url $options optional [] postLink( string $title , string|array|null $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.
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.block - Set to true to append form to view block "postLink" or provide custom block name.onclick will be replaced.$title $url optional null Cake-relative URL or array of URL parameters, or external URL (starts with http://)
$options optional [] <a /> element.radio( string $fieldName , array|Traversable $options [] , array $attributes [] )
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.$fieldName $options optional [] $attributes optional [] resetTemplates( )
Restores the default values built into FormHelper.
This method will not reset any templates set in custom widgets.
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'.
$fields optional [] If set specifies the list of fields to use when generating the hash, else $this->fields is being used.
$secureAttributes optional [] 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.
select( string $fieldName , array|Traversable $options [] , array $attributes [] )
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'],
]; $fieldName $options optional [] Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element
$attributes optional [] setValueSources( string|array $sources )
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.
$sources submit( string|null $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.
type - Set to 'reset' for reset inputs. Defaults to 'submit'templateVars - Additional template variables for the input element and its container.$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.
$options optional [] textarea( string $fieldName , array $options [] )
Creates a textarea widget.
escape - Whether or not the contents of the textarea should be escaped. Defaults to true.$fieldName $options optional [] time( string $fieldName , array $options [] )
Generate time inputs.
See dateTime() for time options.
$fieldName $options optional [] 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.
$name optional null 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.
$name $data optional [] widgetRegistry( Cake\View\Widget\WidgetRegistry $instance null , array $widgets [] )
Set the widget registry the helper will use.
Cake\View\Widget\WidgetRegistry $instance optional null $widgets optional [] Cake\View\Widget\WidgetRegistryyear( string $fieldName , array $options [] )
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.$fieldName $options optional [] __debugInfo( )
Returns an array that can be used to describe the internal state of this object.
__get( string $name )
Lazy loads helpers.
$name Cake\View\Helper|null_confirm( string $message , string $okCode , string $cancelCode '' , array $options [] )
Returns a string to be used as onclick handler for confirm dialogs.
$message $okCode $cancelCode optional '' $options optional [] addClass( array $options [] , string|null $class null , string $key 'class' )
Adds the given class to the element options
$options optional [] $class optional null $key optional 'class' getView( )
Get the view instance this helper is bound to.
Cake\View\Viewinitialize( array $config )
Constructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
$config _domId( string $value )
Generate an ID suitable for use in an ID attribute.
$value _id( string $name , string $val )
Generate an ID attribute for an element.
Ensures that id's for a given set of fields are unique.
$name $val _buildFieldToken( string $url , array $fields , array $unlockedFields [] )
Generate the token data for the provided inputs.
$url $fields If set specifies the list of fields to use when generating the hash.
$unlockedFields optional [] The list of fields that are excluded from field validation.
formatTemplate( string $name , array $data )
Formats a template string with $data
$name $data getTemplates( string|null $template null )
Gets templates to use or a specific template.
$template optional null setTemplates( array $templates )
Sets templates to use.
$templates templater( )
Returns the templater instance.
Cake\View\StringTemplatetemplates( string|null|array $templates null )
Gets/sets templates to use.
$templates optional null null or string allow reading templates. An array allows templates to be added.
_configDelete( string $key )
Deletes a single config key.
$key Cake\Core\Exception\Exception_configRead( string|null $key )
Reads a config key.
$key _configWrite( string|array $key , mixed $value , boolean|string $merge false )
Writes a config key.
$key $value $merge optional false True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Cake\Core\Exception\Exceptionconfig( string|array|null $key null , mixed|null $value null , boolean $merge true )
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']);
$key optional null $value optional null $merge optional true Cake\Core\Exception\ExceptionconfigShallow( 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->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']);
$key $value optional null getConfig( string|null $key null , mixed $default null )
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'); $key optional null $default optional null setConfig( string|array $key , mixed|null $value null , boolean $merge true )
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']);
$key $value optional null $merge optional true Cake\Core\Exception\Exceptionprotected array
Special options used for datetime inputs.
[
'interval', 'round', 'monthNames', 'minYear', 'maxYear',
'orderYear', 'timeFormat', 'second'
] protected array
The various pickers that make up a datetime picker.
['year', 'month', 'day', 'hour', 'minute', 'second', 'meridian']
protected array
Default config for the helper.
[
'idPrefix' => null,
'errorClass' => 'form-error',
'typeMap' => [
'string' => 'text',
'text' => 'textarea',
'uuid' => 'string',
'datetime' => 'datetime',
'timestamp' => 'datetime',
'date' => 'date',
'time' => 'time',
'boolean' => 'checkbox',
'float' => 'number',
'integer' => 'number',
'tinyinteger' => 'number',
'smallinteger' => 'number',
'decimal' => 'number',
'binary' => 'file',
],
'templates' => [
// Used for button elements in button().
'button' => '<button{{attrs}}>{{text}}</button>',
// Used for checkboxes in checkbox() and multiCheckbox().
'checkbox' => '<input type="checkbox" name="{{name}}" value="{{value}}"{{attrs}}>',
// Input group wrapper for checkboxes created via control().
'checkboxFormGroup' => '{{label}}',
// Wrapper container for checkboxes.
'checkboxWrapper' => '<div class="checkbox">{{label}}</div>',
// Widget ordering for date/time/datetime pickers.
'dateWidget' => '{{year}}{{month}}{{day}}{{hour}}{{minute}}{{second}}{{meridian}}',
// Error message wrapper elements.
'error' => '<div class="error-message">{{content}}</div>',
// Container for error items.
'errorList' => '<ul>{{content}}</ul>',
// Error item wrapper.
'errorItem' => '<li>{{text}}</li>',
// File input used by file().
'file' => '<input type="file" name="{{name}}"{{attrs}}>',
// Fieldset element used by allControls().
'fieldset' => '<fieldset{{attrs}}>{{content}}</fieldset>',
// Open tag used by create().
'formStart' => '<form{{attrs}}>',
// Close tag used by end().
'formEnd' => '</form>',
// General grouping container for control(). Defines input/label ordering.
'formGroup' => '{{label}}{{input}}',
// Wrapper content used to hide other content.
'hiddenBlock' => '<div style="display:none;">{{content}}</div>',
// Generic input element.
'input' => '<input type="{{type}}" name="{{name}}"{{attrs}}/>',
// Submit input element.
'inputSubmit' => '<input type="{{type}}"{{attrs}}/>',
// Container element used by control().
'inputContainer' => '<div class="input {{type}}{{required}}">{{content}}</div>',
// Container element used by control() when a field has an error.
'inputContainerError' => '<div class="input {{type}}{{required}} error">{{content}}{{error}}</div>',
// Label element when inputs are not nested inside the label.
'label' => '<label{{attrs}}>{{text}}</label>',
// Label element used for radio and multi-checkbox inputs.
'nestingLabel' => '{{hidden}}<label{{attrs}}>{{input}}{{text}}</label>',
// Legends created by allControls()
'legend' => '<legend>{{text}}</legend>',
// Multi-Checkbox input set title element.
'multicheckboxTitle' => '<legend>{{text}}</legend>',
// Multi-Checkbox wrapping container.
'multicheckboxWrapper' => '<fieldset{{attrs}}>{{content}}</fieldset>',
// Option element used in select pickers.
'option' => '<option value="{{value}}"{{attrs}}>{{text}}</option>',
// Option group element used in select pickers.
'optgroup' => '<optgroup label="{{label}}"{{attrs}}>{{content}}</optgroup>',
// Select element,
'select' => '<select name="{{name}}"{{attrs}}>{{content}}</select>',
// Multi-select element,
'selectMultiple' => '<select name="{{name}}[]" multiple="multiple"{{attrs}}>{{content}}</select>',
// Radio input element,
'radio' => '<input type="radio" name="{{name}}" value="{{value}}"{{attrs}}>',
// Wrapping container for radio input/label,
'radioWrapper' => '{{label}}',
// Textarea input element,
'textarea' => '<textarea name="{{name}}"{{attrs}}>{{value}}</textarea>',
// Container for submit buttons.
'submitContainer' => '<div class="submit">{{content}}</div>',
]
] protected array
Default widgets
[
'button' => ['Button'],
'checkbox' => ['Checkbox'],
'file' => ['File'],
'label' => ['Label'],
'nestingLabel' => ['NestingLabel'],
'multicheckbox' => ['MultiCheckbox', 'nestingLabel'],
'radio' => ['Radio', 'nestingLabel'],
'select' => ['SelectBox'],
'textarea' => ['Textarea'],
'datetime' => ['DateTime', 'select'],
'_default' => ['Basic'],
] protected string
The action attribute value of the last created form. Used to make form/request specific hashes for SecurityComponent.
''
protected array
An array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method
[]
protected array
The sources to be used when retrieving prefilled input values.
['context']
public string|null
Defines the type of form being created. Set by FormHelper::create().
public Cake\View\Helper\HtmlHelper
public Cake\View\Helper\UrlHelper
© 2005–2017 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/3.5/class-Cake.View.Helper.FormHelper.html