我正在为我的应用程序制作REST API。它几乎可以工作,但我希望它在发生时返回验证错误。
使用CakePHP 2.x我看到有一个invalidFields method,但它不再存在Cake3了。相反,我看到Form类中有errors method,但我不知道如何使用它。
这是我在Users / json / add.ctp文件中的内容:
NSArray arrayWithContentsOfFile
正如我所说它不起作用(我知道Form可能在这里使用了Form,但我甚至不知道我是否在正确的道路上)......
结果如下:
<?php
$echo = [
'errors' => $this->Form->errors(),
'user' => $user
];
echo json_encode($echo);
显示所有表单错误的正确方法是什么?
答案 0 :(得分:4)
这就是我要做的,检查控制器中的验证错误并将它们发送到序列化视图
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
}