我是一个蛋糕新手 - 如果这听起来像天真的话那么借口...
基本上,我要做的是在验证中生成随机消息。目前我的代码是
class Post extends AppModel {
var $name = 'Post';
var $validate = array(
'title' => array(
'rule' => 'notEmpty',
'message' => randomResponse()
),
'body' => array(
'rule' => 'notEmpty'
)
);
function randomResponse() {
switch($this->myRandomMessageNumber)
{
case 1:
echo 'Are we playing charades? If so, you know I can\'t see you';
break;
case 2:
echo 'In english?';
break;
case 3:
echo '(signs back)';
break;
case 4:
echo 'Am I conversing with a mute?';
break;
}
return true;
}
}
显然,这会引发错误,说有意外情况这是使用他们在文档中提供的博客教程。那么我怎样才能生成这个随机消息呢?
答案 0 :(得分:0)
您无法在PHP中的类属性声明中执行函数。
从长远来看,我会说看一下设置消息的自定义验证规则,但是通过在__construct()
中分配消息,您也可以更轻松地实现同样的效果:
public function __construct() {
$this->validate['title']['message'] = $this->randomResponse();
parent::__construct();
}
*请注意,这样做的副作用是每次使用模型时都会运行此逻辑,即使没有进行验证,如果您想要有效率,也可以写一个custom validation rule,但逻辑这里很简单,可能不值得。