在控制器内以json格式返回自定义验证错误消息

时间:2014-03-13 11:08:49

标签: json cakephp httpresponse

我正在使用Cakephp 2.4.5。

我有一个控制器,它接收一个id并检查该ID是否存在于Model中。如果它不存在,我希望控制器返回验证错误消息" id not found"在json中返回HTTP响应时。该控制器接收一个不在json中的普通HTTP POST。

如何在Cakephp 2.4.5中完成?

我的控制器代码看起来像这样;

public function controller_function($id=null)
{
    if ($this->request->is('post')) 
    {
       $field=$this->request->data['Model']['field'];
       $Model_id = $this->Model->findFieldID($field);
       if (empty($Model_id) ) //record not found. Return validation error
       {
           //Send validation error back in JSON. How??
       }
    }
}

1 个答案:

答案 0 :(得分:1)

你可以这样做:

echo json_encode(array('error_message' => 'id not found'));

对于其他你遇到问题的东西,因为你说没有视图,把它添加到你的方法中:

$this->autoRender = false;