cakephp/form

CakePHP 表单库

5.1.0 2024-09-06 12:23 UTC

This package is auto-updated.

Last update: 2024-09-21 03:05:26 UTC


README

Total Downloads License

CakePHP 表单库

用于创建不依赖于ORM后端模型或其他永久数据存储的表单的表单抽象。非常适合在API服务或联系表单上实现表单。

使用方法

use Cake\Form\Form;
use Cake\Form\Schema;
use Cake\Validation\Validator;

class 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;
    }
}

在上面的示例中,我们可以看到表单提供的3个钩子方法

  • _buildSchema()用于定义模式数据。您可以定义字段类型、长度和精度。
  • validationDefault()获取一个Cake\Validation\Validator实例,您可以将验证器附加到该实例上。
  • _execute()允许您定义当调用execute()时数据有效时要执行的行为。

您可以根据需要定义额外的公共方法。

$contact = new ContactForm();
$success = $contact->execute($data);
$errors = $contact->getErrors();

文档

请确保您检查了官方文档