如何获取 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/
我已经在初始化方法中加载了模型并导入了适当的 类。我还创建了 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/