我正在使用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;
}
答案 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()
]
}