CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (GitHub)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • Slack
    • Paid Support
CakePHP

C CakePHP 2.3 API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 2.3
      • 4.2
      • 4.1
      • 4.0
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Packages

  • Cake
    • Cache
      • Engine
    • Configure
    • Console
      • Command
        • Task
    • Controller
      • Component
        • Acl
        • Auth
    • Core
    • Error
    • Event
    • I18n
    • Log
      • Engine
    • Model
      • Behavior
      • Datasource
        • Database
        • Session
      • Validator
    • Network
      • Email
      • Http
    • Routing
      • Filter
      • Route
    • TestSuite
      • Coverage
      • Fixture
      • Reporter
    • Utility
    • View
      • Helper

Classes

  • CacheHelper
  • FormHelper
  • HtmlHelper
  • JqueryEngineHelper
  • JsBaseEngineHelper
  • JsHelper
  • MootoolsEngineHelper
  • NumberHelper
  • PaginatorHelper
  • PrototypeEngineHelper
  • RssHelper
  • SessionHelper
  • TextHelper
  • TimeHelper

Class FormHelper

Form helper library.

Automatic generation of HTML FORMs from given data.

AppHelper
Extended by FormHelper
Package: Cake\View\Helper
Link: http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/View/Helper/FormHelper.php

Constants summary

  • string
    SECURE_SKIP ¶
    'skip'

Properties summary

  • $_inputDefaults protected
    array
    Persistent default options used by input(). Set by FormHelper::create().
  • $_models protected
    array

    Holds the model references already loaded by this helper product of trying to inspect them out of field names

  • $_options protected
    array
    Options used by DateTime fields
  • $_unlockedFields protected
    array

    An array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method

  • $defaultModel public
    string
    The default model being used for the current form.
  • $fields public
    array
    List of fields created, used with secure forms.
  • $helpers public
    array
    Other helpers used by FormHelper
  • $requestType public
    string
    Defines the type of form being created. Set by FormHelper::create().
  • $validationErrors public
    array

    Holds all the validation errors for models loaded and inspected it can also be set manually to be able to display custom error messages in the any of the input fields generated by this helper

Magic properties summary

  • $Html public
    HtmlHelper

Method Summary

  • __call() public

    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" />

  • __construct() public
    Copies the validationErrors variable from the View object into this instance
  • _csrfField() protected

    Return a CSRF input if the _Token is present. Used to secure forms in conjunction with SecurityComponent

  • _dateTimeSelected() protected
    Selects values for dateTime selects.
  • _divOptions() protected
    Generate div options for input
  • _extractOption() protected
    Extracts a single option from an options array.
  • _generateOptions() protected
    Generates option lists for common menus

    Parameters
    string $name
    array $options optional array()
    Returns
    array

_getDateTimeValue() protected ¶

_getDateTimeValue( string|array $value , integer $timeFormat )

Parse the value for a datetime selected value

Parameters
string|array $value
The selected value.
integer $timeFormat
The time format
Returns
array
Array of selected value.

_getFormat() protected ¶

_getFormat( array $options )

Generate format options

Parameters
array $options
Returns
array

_getInput() protected ¶

_getInput( array $args )

Generates an input element

Parameters
array $args
The options for the input element
Returns
string
The generated input element

_getLabel() protected ¶

_getLabel( string $fieldName , array $options )

Generate label for input

Parameters
string $fieldName
array $options
Returns
boolean|string
false or Generated label element

_getModel() protected ¶

_getModel( string $model )

Guess the location for a model based on its name and tries to create a new instance or get an already created instance of the model

Parameters
string $model
Returns
Model
model instance

_initInputField() protected ¶

_initInputField( string $field , array $options = array() )

Sets field defaults and adds field to form security input hash. Will also add a 'form-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 the disabled option, will also omit the field from being part of the hashed key.

This method will convert a numerically indexed 'disabled' into a associative value. FormHelper's internals expect associative options.

Parameters
string $field
Name of the field to initialize options for.
array $options optional array()
Array of options to append options into.
Returns
array
Array of options for the input.

_inputLabel() 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
string $label
array $options
Options for the label element. 'NONE' option is deprecated and will be removed in 3.0
Returns
string
Generated label element

_introspectModel() protected ¶

_introspectModel( string $model , string $key , string $field = null )

Inspects the model properties to extract information from them. Currently it can extract information from the the fields, the primary key and required fields

The $key parameter accepts the following list of values:

  • key: Returns the name of the primary key for the model
  • fields: Returns the model schema
  • validates: returns the list of fields that are required
  • errors: returns the list of validation errors

If the $field parameter is passed if will return the information for that sole field.

$this->_introspectModel('Post', 'fields', 'title'); will return the schema information for title column

Parameters
string $model
name of the model to extract information from
string $key
name of the special information key to obtain (key, fields, validates, errors)
string $field optional null
name of the model field to get information from
Returns
mixed
information extracted for the special key and field in a model

_isRequiredField() protected ¶

_isRequiredField( CakeValidationSet $validationRules )

Returns if a field is required to be filled based on validation properties from the validating object.

Parameters
CakeValidationSet $validationRules
Returns
boolean
true if field is required to be filled, false otherwise

_magicOptions() protected ¶

_magicOptions( array $options )

Magically set option type and corresponding options

Parameters
array $options
Returns
array

_maxLength() protected ¶

_maxLength( array $options )

Calculates maxlength option

Parameters
array $options
Returns
array

_name() protected ¶

_name( array $options = array() , string $field = null , string $key = 'name' )

Gets the input field name for the current tag

Parameters
array $options optional array()
string $field optional null
string $key optional 'name'
Returns
array

_optionsOptions() protected ¶

_optionsOptions( array $options )

Generates list of options for multiple select

Parameters
array $options
Returns
array

_parseOptions() protected ¶

_parseOptions( array $options )

Generates input options array

Parameters
array $options
Returns
array
Options

_secure() protected ¶

_secure( boolean $lock , string $field = null , 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 $field optional null
Reference to field to be secured. Should be dot separated to indicate nesting.
mixed $value optional null
Field value, if value should not be tampered with.
Returns
mixed|null
Not used yet

_secureFieldName() protected ¶

_secureFieldName( array $options )

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.

Parameters
array $options
An array of options possibly containing a name key.
Returns
string|null

_selectOptions() protected ¶

_selectOptions( array $elements = array() , array $parents = array() , boolean $showParents = null , array $attributes = array() )

Returns an array of formatted OPTION/OPTGROUP elements

Parameters
array $elements optional array()
array $parents optional array()
boolean $showParents optional null
array $attributes optional array()
Returns
array

button() public ¶

button( string $title , array $options = array() )

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()
Array of options and HTML attributes.
Returns
string
A HTML button tag.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::button

checkbox() public ¶

checkbox( string $fieldName , array $options = array() )

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()
Array of HTML attributes.
Returns
string
An HTML text input element.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputs

create() public ¶

create( mixed $model = null , array $options = array() )

Returns an HTML FORM element.

Options:

  • type Form method defaults to POST
  • action The controller action the form submits to, (optional).
  • url The URL the form submits to. Can be a string or an URL array. If you use 'url' you should leave 'action' undefined.
  • default Allows for the creation of Ajax forms. Set this to false to prevent the default event handler. Will create an onsubmit attribute if it doesn't not exist. If it does, default action suppression will be appended.
  • onsubmit Used in conjunction with 'default' to create ajax forms.
  • inputDefaults set the default $options for FormHelper::input(). Any options that would be set when using FormHelper::input() can be set here. Options set with inputDefaults can be overridden when calling input()
  • encoding Set the accept-charset encoding for the form. Defaults to Configure::read('App.encoding')
Parameters
mixed $model optional null

The model name for which the form is being defined. Should include the plugin name for plugin models. e.g. ContactManager.Contact. If an array is passed and $options argument is empty, the array will be used as options. If false no model is used.

array $options optional array()
An array of html attributes and options.
Returns
string
An formatted opening FORM tag.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-create

dateTime() public ¶

dateTime( string $fieldName , string $dateFormat = 'DMY' , string $timeFormat = '12' , array|string $attributes = array() )

Returns a set of SELECT elements for a full datetime setup: day, month and year, and then time.

Attributes:

  • monthNames If false, 2 digit numbers will be used instead of text. If a 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
  • interval The interval for the minutes select. Defaults to 1
  • separator The contents of the string between select elements. Defaults to '-'
  • 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.
Parameters
string $fieldName
Prefix name for the SELECT element
string $dateFormat optional 'DMY'
DMY, MDY, YMD, or null to not generate date inputs.
string $timeFormat optional '12'
12, 24, or null to not generate time inputs.
array|string $attributes optional array()
array of Attributes
Returns
string
Generated set of select boxes for the date and time formats chosen.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::dateTime

day() public ¶

day( string $fieldName = null , array $attributes = array() )

Returns a SELECT element for days.

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 optional null
Prefix name for the SELECT element
array $attributes optional array()
HTML attributes for the select element
Returns
string
A generated day select box.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::day

end() public ¶

end( string|array $options = null )

Closes an HTML form, cleans up values set by FormHelper::create(), and writes hidden input fields where appropriate.

If $options is set a form submit button will be created. Options can be either a string or an array.

{{{ array usage:

array('label' => 'save'); value="save" array('label' => 'save', 'name' => 'Whatever'); value="save" name="Whatever" array('name' => 'Whatever'); value="Submit" name="Whatever" array('label' => 'save', 'name' => 'Whatever', 'div' => 'good')

<

div class="good"> value="save" name="Whatever" array('label' => 'save', 'name' => 'Whatever', 'div' => array('class' => 'good'));

<

div class="good"> value="save" name="Whatever" }}}

Parameters
string|array $options optional null
as a string will use $options as the value of button,
Returns
string
a closing FORM tag optional submit button.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#closing-the-form

error() public ¶

error( string $field , string|array $text = null , array $options = array() )

Returns a formatted error message for given FORM field, NULL if no errors.

Options:

  • escape bool - Whether or not to html escape the contents of the error.
  • wrap mixed - Whether or not the error message should be wrapped in a div. If a string, will be used as the HTML tag to use.
  • class string - The classname for the error message
Parameters
string $field
A field name, like "Modelname.fieldname"
string|array $text optional null

Error message as string or array of messages. If array contains attributes key it will be used as options for error container

array $options optional array()

Rendering options for

wrapper tag

Returns
string
If there are errors this method returns an error message, otherwise null.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::error

file() public ¶

file( string $fieldName , array $options = array() )

Creates file input widget.

Parameters
string $fieldName
Name of a field, in the form "Modelname.fieldname"
array $options optional array()
Array of HTML attributes.
Returns
string
A generated file input.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::file

hidden() public ¶

hidden( string $fieldName , array $options = array() )

Creates a hidden input field.

Parameters
string $fieldName
Name of a field, in the form of "Modelname.fieldname"
array $options optional array()
Array of HTML attributes.
Returns
string
A generated hidden input
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::hidden

hour() public ¶

hour( string $fieldName , boolean $format24Hours = false , array $attributes = array() )

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.
Parameters
string $fieldName
Prefix name for the SELECT element
boolean $format24Hours optional false
True for 24 hours format
array $attributes optional array()
List of HTML attributes
Returns
string
Completed hour select input
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::hour

input() public ¶

input( string $fieldName , array $options = array() )

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().i 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().
  • div - Either false to disable the div, or an array of options for the div. See HtmlHelper::div() for more options.
  • 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).
  • errorMessage - Boolean to control rendering error messages (field error will still occur).
  • empty - String or boolean to enable empty select box options.
  • before - Content to place before the label + input.
  • after - Content to place after the label + input.
  • between - Content to place between the label + input.
  • format - Format template for element order. Any element that is not in the array, will not be in the output.
  • Default input format order: array('before', 'label', 'between', 'input', 'after', 'error')
  • Default checkbox format order: array('before', 'input', 'between', 'label', 'after', 'error')
  • Hidden input will not be formatted
  • Radio buttons cannot have the order of input and label elements controlled with these settings.
Parameters
string $fieldName
This should be "Modelname.fieldname"
array $options optional array()
Each type of input takes different options.
Returns
string
Completed form widget.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#creating-form-elements

inputDefaults() public ¶

inputDefaults( array $defaults = null , boolean $merge = false )

Set/Get inputDefaults for form elements

Parameters
array $defaults optional null
New default values
boolean $merge optional false
with current defaults
Returns
array
inputDefaults

inputs() public ¶

inputs( array $fields = null , array $blacklist = null , array $options = array() )

Generate a set of inputs for $fields. If $fields is null the fields of current model will be used.

You can customize individual inputs through $fields. {{{ $this->Form->inputs(array( 'name' => array('label' => 'custom label') )); }}}

In addition to controller fields output, $fields can be used to control legend and fieldset rendering. $this->Form->inputs('My legend'); Would generate an input set with a custom legend. Passing fieldset and legend key in $fields array has been deprecated since 2.3, for more fine grained control use the fieldset and legend keys in $options param.

Parameters
array $fields optional null
An array of fields to generate inputs for, or null.
array $blacklist optional null
A simple array of fields to not create inputs for.
array $options optional array()

Options array. Valid keys are: - fieldset Set to false to disable the fieldset. If a string is supplied it will be used as the classname for the fieldset element. - 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/2.0/en/core-libraries/helpers/form.html#FormHelper::inputs

isFieldError() 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/2.0/en/core-libraries/helpers/form.html#FormHelper::isFieldError

label() public ¶

label( string $fieldName = null , string $text = null , array|string $options = array() )

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('Post.published'); }}}

Custom text:

{{{ echo $this->Form->label('Post.published', 'Publish'); }}}

Custom class name:

{{{ echo $this->Form->label('Post.published', 'Publish', 'required'); }}}

Custom attributes:

{{{ echo $this->Form->label('Post.published', 'Publish', array( 'for' => 'post-publish' )); }}}

Parameters
string $fieldName optional null
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|string $options optional array()
An array of HTML attributes, or a string, to be used as a class name.
Returns
string
The formatted LABEL element
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::label

meridian() public ¶

meridian( string $fieldName , array|string $attributes = array() )

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|string $attributes optional array()
Array of Attributes
Returns
string
Completed meridian select input
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::meridian

minute() public ¶

minute( string $fieldName , array $attributes = array() )

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.
Parameters
string $fieldName
Prefix name for the SELECT element
array $attributes optional array()
Array of Attributes
Returns
string
Completed minute select input.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::minute

month() public ¶

month( string $fieldName , array $attributes = array() )

Returns a SELECT element for months.

Attributes:

  • monthNames - If false, 2 digit numbers will be used instead of text. If a 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 $attributes optional array()
Attributes for the select element
Returns
string
A generated month select dropdown.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::month

postButton() public ¶

postButton( string $title , string|array $url , array $options = array() )

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()
Array of options and HTML attributes.
Returns
string
A HTML button tag.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::postButton

postLink() public ¶

postLink( string $title , string|array $url = null , array $options = array() , boolean|string $confirmMessage = false )

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. So do not use this method inside an existing form. Instead you should add a submit button using FormHelper::submit()

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 - Can be used instead of $confirmMessage.
  • Other options is the same of HtmlHelper::link() method.
  • The option onclick will be replaced.
Parameters
string $title
The content to be wrapped by tags.
string|array $url optional null
Cake-relative URL or array of URL parameters, or external URL (starts with http://)
array $options optional array()
Array of HTML attributes.
boolean|string $confirmMessage optional false
JavaScript confirmation message.
Returns
string
An <a /> element.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::postLink

radio() public ¶

radio( string $fieldName , array $options = array() , array $attributes = array() )

Creates a set of radio widgets. Will create a legend and fieldset by default. Use $options to control this

Attributes:

  • separator - define the string in between the radio buttons
  • between - the string between legend and input set or array of strings to insert strings between each input block
  • legend - control whether or not the widget set has a fieldset & legend
  • value - indicate a value that is should be checked
  • label - boolean to indicate whether or not labels for widgets show 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 non-continuous
  • disabled - Set to true or disabled to disable all the radio buttons.
  • empty - Set to true to create a 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.
Parameters
string $fieldName
Name of a field, like this "Modelname.fieldname"
array $options optional array()
Radio button options array.
array $attributes optional array()
Array of HTML attributes, and special attributes above.
Returns
string
Completed radio widget set.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputs

secure() public ¶

secure( array $fields = array() )

Generates a hidden field with a security hash based on the fields used in the form.

Parameters
array $fields optional array()
The list of fields to use when generating the hash
Returns
string
A hidden input field with a security hash
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::secure

select() public ¶

select( string $fieldName , array $options = array() , array $attributes = array() )

Returns a formatted SELECT element.

Attributes:

  • showParents - If included in the array and set to true, an additional option element will be added for the parent of each option group. You can set an option with the same name and it's key will be used for the value of the option.
  • 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.
  • value The selected value of the input.
  • class - When using multiple = checkbox the classname to apply to the divs. Defaults to 'checkbox'.
  • disabled - Control the disabled attribute. When creating a select box, set to true to disable the select box. 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.

Using options

A simple array will create normal options:

{{{ $options = array(1 => 'one', 2 => 'two); $this->Form->select('Model.field', $options)); }}}

While a nested options array will create optgroups with options inside them. {{{ $options = array( 1 => 'bill', 'fred' => array( 2 => 'fred', 3 => 'fred jr.' ) ); $this->Form->select('Model.field', $options); }}}

In the above 2 => 'fred' will not generate an option element. You should enable the showParents attribute to show the fred option.

If you have multiple options that need to have the same value attribute, you can use an array of arrays to express this:

{{{ $options = array( array('name' => 'United states', 'value' => 'USA'), array('name' => 'USA', 'value' => 'USA'), ); }}}

Parameters
string $fieldName
Name attribute of the SELECT
array $options optional array()

Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element

array $attributes optional array()
The HTML attributes of the select element.
Returns
string
Formatted SELECT element
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-select-checkbox-and-radio-inputs

submit() public ¶

submit( string $caption = null , array $options = array() )

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

  • div - Include a wrapping div? Defaults to true. Accepts sub options similar to FormHelper::input().
  • before - Content to include before the input.
  • after - Content to include after the input.
  • type - Set to 'reset' for reset inputs. Defaults to 'submit'
  • Other attributes will be assigned to the input element.

Options

  • div - Include a wrapping div? Defaults to true. Accepts sub options similar to FormHelper::input().
  • 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()
Array of options. See above.
Returns
string
A HTML submit button
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::submit

tagIsInvalid() public ¶

tagIsInvalid( )

Returns false if given form field described by the current entity has no errors. Otherwise it returns the validation message

Returns
mixed

Either false when there are no errors, or an array of error strings. An error string could be ''.


Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::tagIsInvalid

textarea() public ¶

textarea( string $fieldName , array $options = array() )

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()
Array of HTML attributes, and special options above.
Returns
string
A generated HTML text input element
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::textarea

unlockField() public ¶

unlockField( string $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 $name optional null
The dot separated name for the field.
Returns
mixed
Either null, or the list of fields.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::unlockField

year() public ¶

year( string $fieldName , integer $minYear = null , integer $maxYear = null , array $attributes = array() )

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.
Parameters
string $fieldName
Prefix name for the SELECT element
integer $minYear optional null
First year in sequence
integer $maxYear optional null
Last year in sequence
array $attributes optional array()
Attribute array for the select elements.
Returns
string
Completed year select input
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::year

Properties detail

$_inputDefaults ¶

protected array

Persistent default options used by input(). Set by FormHelper::create().

array()

$_models ¶

protected array

Holds the model references already loaded by this helper product of trying to inspect them out of field names

array()

$_options ¶

protected array

Options used by DateTime fields

array(
    'day' => array(), 'minute' => array(), 'hour' => array(),
    'month' => array(), 'year' => array(), 'meridian' => array()
)

$_unlockedFields ¶

protected array

An array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method

See
FormHelper::_secure()
SecurityComponent::validatePost()
array()

$defaultModel ¶

public string

The default model being used for the current form.

null

$fields ¶

public array

List of fields created, used with secure forms.

array()

$helpers ¶

public array

Other helpers used by FormHelper

array('Html')

$requestType ¶

public string

Defines the type of form being created. Set by FormHelper::create().

null

$validationErrors ¶

public array

Holds all the validation errors for models loaded and inspected it can also be set manually to be able to display custom error messages in the any of the input fields generated by this helper

array()

Magic properties detail

$Html ¶

public HtmlHelper
OpenHub
Rackspace
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (GitHub)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • Slack
  • Paid Support

Generated using CakePHP API Docs