Form abstraction used to create forms not tied to ORM backed models, or to other permanent datastores. Ideal for implementing forms on top of API services, or contact forms.
This class is most useful when subclassed. In a subclass you should define the _buildSchema
, _buildValidator
and optionally, the _execute
methods. These allow you to declare your form's fields, validation and primary action respectively.
You can also define the validation and schema by chaining method calls off of $form->schema()
and $form->validator()
.
Forms are conventionally placed in the App\Form
namespace.
$_errors
protected array
$_schema
protected $_validator
protected __debugInfo( )
Get the printable version of a Form instance.
_buildSchema( Cake\Form\Schema $schema )
A hook method intended to be implemented by subclasses.
You can use this method to define the schema using the methods on Cake\Form\Schema, or loads a pre-defined schema from a concrete class.
Cake\Form\Schema
$schema
Cake\Form\Schema
_buildValidator( Cake\Validation\Validator $validator )
A hook method intended to be implemented by subclasses.
You can use this method to define the validator using the methods on Cake\Validation\Validator or loads a pre-defined validator from a concrete class.
Cake\Validation\Validator
$validator
Cake\Validation\Validator
_execute( array $data )
Hook method to be implemented in subclasses.
Used by execute()
to execute the form's action.
$data
errors( )
Get the errors in the form
Will return the errors from the last call to validate()
or execute()
.
execute( array $data )
Execute the form if it is valid.
First validates the form, then calls the _execute()
hook method. This hook method can be implemented in subclasses to perform the action of the form. This may be sending email, interacting with a remote API, or anything else you may need.
$data
False on validation failure, otherwise returns the result of the _execute()
method.
schema( Cake\Form\Schema $schema null )
Get/Set the schema for this form.
This method will call _buildSchema()
when the schema is first built. This hook method lets you configure the schema or load a pre-defined one.
Cake\Form\Schema
$schema
optional null Cake\Form\Schema
validate( array $data )
Used to check if $data passes this form's validation.
$data
validator( Cake\Validation\Validator $validator null )
Get/Set the validator for this form.
This method will call _buildValidator()
when the validator is first built. This hook method lets you configure the validator or load a pre-defined one.
Cake\Validation\Validator
$validator
optional null Cake\Validation\Validator
© 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.4/class-Cake.Form.Form.html