我正在玩 Cakephp 3.0,想知道如何验证未保存到数据库中的数据。
例如,我知道在模型(现在似乎称为“表”)中,您向模型添加了一个 validationDefault 方法,该方法在数据保存到数据库时自动调用,即新用户被添加到数据库. 但是,我将如何验证未保存到数据库的登录表单中的数据,然后显示这些错误?
例如,在用户登录时,我想检查是否已输入字段,是否超过一定大小等
我正在玩 Cakephp 3.0,想知道如何验证未保存到数据库中的数据。
例如,我知道在模型(现在似乎称为“表”)中,您向模型添加了一个 validationDefault 方法,该方法在数据保存到数据库时自动调用,即新用户被添加到数据库. 但是,我将如何验证未保存到数据库的登录表单中的数据,然后显示这些错误?
例如,在用户登录时,我想检查是否已输入字段,是否超过一定大小等
取自官方文档,您可以在控制器中实例化一个验证器并通过传递它来验证您的数据$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