datavalidation/CakePhp的行为

datavalidation/CakePhp的行为,cakephp,behavior,Cakephp,Behavior,我对CakePHP非常陌生,但我有一个问题要证明我的一般理解。我正在为一家飞行培训公司写一份申请书,该公司必须能够处理飞行记录。如果有人进入航班,需要执行许多任务来检查输入的数据是否有效。因此,不仅仅是用模型提供的方法检查记录(例如,检查输入的时间是否有效),还需要做更多的工作,比如检查他是否在着陆前起飞(按时间)。即使是在同一时间段内是否已经有飞行记录的问题 所以我想知道这些检查是在控制器中进行的,还是最好为这个模型创建一个特定的行为。或者,很明显,我缺乏理解,我只是需要在我的模型中使用bef

我对CakePHP非常陌生,但我有一个问题要证明我的一般理解。我正在为一家飞行培训公司写一份申请书,该公司必须能够处理飞行记录。如果有人进入航班,需要执行许多任务来检查输入的数据是否有效。因此,不仅仅是用模型提供的方法检查记录(例如,检查输入的时间是否有效),还需要做更多的工作,比如检查他是否在着陆前起飞(按时间)。即使是在同一时间段内是否已经有飞行记录的问题


所以我想知道这些检查是在控制器中进行的,还是最好为这个模型创建一个特定的行为。或者,很明显,我缺乏理解,我只是需要在我的模型中使用beforeinstert函数。我读了很多帖子,在谷歌上搜索过,但我没有得出结论。

您可能应该在模型中创建一个返回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;
}

非常感谢,这很有帮助!这意味着我的行为完全走错了方向。你当然是对的,我想有个口信。再次感谢