如何获取 CakePHP 4 中的验证错误?

How do I fetch the Validation errors in CakePHP 4?

我已经在初始化方法中加载了模型并导入了适当的 类。我还创建了 LoginsTable 模型。我浏览了文档,但还没有找到解决方案。

这是我收到错误 $loginobj->errors() 的代码,我基本上是在尝试从实体对象中获取列表或错误。

//Build entity
$loginobj = $this->Logins->newEntity($this->request->getData());
$validation_errors = $loginobj->errors();
if(!empty($validation_errors)) {
    //errors exist
    $this->Flash->set(__($validation_errors), [
        'element' => 'login_validation_errors',
        'clear' => true
    ]);
} else {
    //success
    $this->Flash->set(__('Account Created!'), [
        'element' => 'login_success',
        'clear' => true
    ]);
}

errors()是一个setter,你要的是getErrors()

参见:https://api.cakephp.org/3.8/class-Cake.ORM.Entity.html#_getErrors

p.s。我知道这是一个 link 到 3.8 api 文档,但是 4.x api 文档由于某种原因不在线,但是 4.x 中的语法是还是一样

p.p.s。 CakePHP 4.0 API 文档现已可用:https://api.cakephp.org/4.0/