Name: form
Owner: CakePHP
Description: [READ-ONLY] - Form abstraction used to create forms not tied to ORM backed models, or to other permanent datastores.
Created: 2016-12-21 01:32:26.0
Updated: 2018-04-28 02:11:00.0
Pushed: 2018-05-21 01:41:09.0
Homepage: null
Size: 31
Language: PHP
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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.
Cake\Form\Form;
Cake\Form\Schema;
Cake\Validation\Validator;
s ContactForm extends Form
protected function _buildSchema(Schema $schema)
{
return $schema->addField('name', 'string')
->addField('email', ['type' => 'string'])
->addField('body', ['type' => 'text']);
}
public function validationDefault(Validator $validator)
{
return $validator->add('name', 'length', [
'rule' => ['minLength', 10],
'message' => 'A name is required'
])->add('email', 'format', [
'rule' => 'email',
'message' => 'A valid email address is required',
]);
}
protected function _execute(array $data)
{
// Send an email.
return true;
}
In the above example we see the 3 hook methods that forms provide:
_buildSchema()
is used to define the schema data. You can define field type, length, and precision.validationDefault()
Gets a Cake\Validation\Validator
instance that you can attach validators to._execute()
lets you define the behavior you want to happen when execute()
is called and the data is valid.You can always define additional public methods as you need as well.
tact = new ContactForm();
cess = $contact->execute($data);
ors = $contact->errors();
Please make sure you check the official documentation