我如何 return REST 调用的验证错误?

how can I return the validation errors for a REST call?

我正在为我的应用程序制作 REST api。它几乎可以工作,但我希望它在发生验证错误时 return。

使用 CakePHP 2.x 我看到表单 class 中有一个 invalidFields method, but it's not there anymore with Cake3. I see, instead, that there is an errors method,但我不知道如何使用它。

这是我的 Users/json/add.ctp 文件中的内容:

<?php
$echo = [
    'errors' => $this->Form->errors(),
    'user' => $user
];

echo json_encode($echo);

正如我所说,它不起作用(我知道这里可能使用了 Form,但我什至不知道我是否走在正确的道路上)...

这是结果:

{
    "message": "Missing field name for FormHelper::errors",
    "url": "\/fatturazione\/api\/users.json",
    "code": 500
}

当出现所有表单错误时,正确的显示方式是什么?

这就是我要做的,检查控制器中的验证错误并将它们发送到序列化视图

public function add() {
    $this->request->allowMethod('post');
    $data = $this->Model->newEntity($this->request->data);

    if($data->errors()) {
        $this->set([
            'errors' => $data->errors(), 
            '_serialize' => ['errors']]);
        return;
    }

     //if no validation errors then save here
}