datavalidation / CakePhp的行为

时间:2011-01-16 12:58:33

标签: cakephp behavior

我对CakePHP很新,但我有一个问题要证明我的一般理解。我正在写一个飞行训练公司的申请,该公司必须能够处理飞行记录。如果有人进入航班,则需要执行许多任务来检查输入的数据是否有效。因此,不仅仅是使用模型提供的方法检查记录(例如,如果输入的时间是有效的,则检查字段)还需要做更多的工作,例如检查他是否在降落(时间)之前起飞。甚至是在同一时间段内是否已有航班记录的问题。

所以我想知道这些检查是否要在控制器中完成,或者是否更好地为此模型创建特定行为。或者,很明显我缺乏理解,我只需要在我的模型中使用beforeInsert函数。我已经阅读了很多帖子并用Google搜索,但我还没有得出结论。

1 个答案:

答案 0 :(得分:0)

您应该在模型中创建一个返回true或false的方法。我认为beforeInsert方法不适用于此 - 您将获得数据库插入错误以及验证错误。我想你想向用户显示验证错误?

function validateRecord($record) {

   $return = array("bool" => true, "message" => "");

   // validation step failed

   $return['bool'] = false;
   $return['message'] = "Validation failed because etc etc";

   return $return;
}