2

我正在玩 Cakephp 3.0,想知道如何验证未保存到数据库中的数据。

例如,我知道在模型(现在似乎称为“表”)中,您向模型添加了一个 validationDefault 方法,该方法在数据保存到数据库时自动调用,即新用户被添加到数据库. 但是,我将如何验证未保存到数据库的登录表单中的数据,然后显示这些错误?

例如,在用户登录时,我想检查是否已输入字段,是否超过一定大小等

4

1 回答 1

7

取自官方文档,您可以在控制器中实例化一个验证器并通过传递它来验证您的数据$this->request->data()

use Cake\Validation\Validator;

...

$validator = new Validator();
$validator
    ->validatePresence('email')
    ->add('email', 'validFormat', [
        'rule' => 'email',
        'message' => 'E-mail must be valid'
    ])
    ->validatePresence('name')
    ->notEmpty('name', 'We need your name.')
    ->validatePresence('comment')
    ->notEmpty('comment', 'You need to give a comment.');

$errors = $validator->errors($this->request->data());
if (!empty($errors)) {
    // Send an email.
}

http://book.cakephp.org/3.0/en/core-libraries/validation.html

于 2014-09-05T18:57:24.117 回答