关于beforesave模型回调的Cakephp 2验证消息

时间:2018-04-18 18:53:11

标签: cakephp-2.0

我正在使用CakePhp 2.5并且在beforeSave模型中回调如果没有提供某些信息(MyIndex),我会返回false。

如何显示错误消息?

我试试:

$this->validationRuleErrors = 'You need to choose MyIndex'; 

但没有看到任何错误信息。

if( in_array( 'MyIndex', array_keys( $this->data) ) == FALSE )
{
            $this->validationRuleErrors = 'You need to choose MyIndex';
            debug($this->validationErrors);
            return false;
}

1 个答案:

答案 0 :(得分:1)

可以从您的控制器访问validationErrors中设置的beforeSave属性。

控制器示例:

try {
    $this->Model->save($data);
    if (!empty($this->Model->validationErrors)) {
        // just echo $this->Model->validationErrors if you don't want to use an exception
        throw new Exception($this->Model->validationErrors);
    }
} catch (Exception $e) {
    $this->data = [
        'success' => false,
        'message' => $e->getMessage()
    ]
}