Provides a basic array based context provider for FormHelper.
This adapter is useful in testing or when you have forms backed by simple array data structures.
Important keys:
defaults
The default values for fields. These values will be used when there is no request data set. Data should be nested following the dot separated paths you access your fields with.required
A nested array of fields, relationships and boolean flags to indicate a field is required.schema
An array of data that emulate the column structures that Cake\Database\Schema\Table uses. This array allows you to control the inferred type for fields and allows auto generation of attributes like maxlength, step and other HTML attributes. If you want primary key/id detection to work. Make sure you have provided a _constraints
array that contains primary
. See below for an example.errors
An array of validation errors. Errors should be nested following the dot separated paths you access your fields with. $data = [ 'schema' => [ 'id' => ['type' => 'integer'], 'title' => ['type' => 'string', 'length' => 255], '_constraints' => [ 'primary' => ['type' => 'primary', 'columns' => ['id']] ] ], 'defaults' => [ 'id' => 1, 'title' => 'First post!', ] ];
__construct( Cake\Network\Request $request , array $context )
Constructor.
Cake\Network\Request
$request
$context
attributes( string $field )
Get an associative array of other attributes for a field name.
$field
array
Cake\View\Form\ContextInterface::attributes()
error( string $field )
Get the errors for a given field
$field
array
Cake\View\Form\ContextInterface::error()
fieldNames( )
Get the fieldnames of the top level object in this context.
array
Cake\View\Form\ContextInterface::fieldNames()
hasError( string $field )
Check whether or not a field has an error attached to it
$field
boolean
Cake\View\Form\ContextInterface::hasError()
isCreate( )
Returns whether or not this form is for a create operation.
For this method to return true, both the primary key constraint must be defined in the 'schema' data, and the 'defaults' data must contain a value for all fields in the key.
boolean
Cake\View\Form\ContextInterface::isCreate()
isPrimaryKey( string $field )
Returns true if the passed field name is part of the primary key for this context
$field
boolean
Cake\View\Form\ContextInterface::isPrimaryKey()
isRequired( string $field )
Check if a given field is 'required'.
In this context class, this is simply defined by the 'required' array.
$field
boolean
Cake\View\Form\ContextInterface::isRequired()
primaryKey( )
Get the fields used in the context as a primary key.
array
Cake\View\Form\ContextInterface::primaryKey()
type( string $field )
Get the abstract field type for a given field name.
$field
null|string
Cake\Database\Type
Cake\View\Form\ContextInterface::type()
val( string $field )
Get the current value for a given field.
This method will coalesce the current request data and the 'defaults' array.
$field
mixed
Cake\View\Form\ContextInterface::val()
© 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.Form.ArrayContext.html