【问题标题】:Behaviour for datavalidation/CakePhp数据验证/CakePhp 的行为
【发布时间】:2011-01-16 12:58:33
【问题描述】:

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

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

【问题讨论】:

    标签: cakephp behavior


    【解决方案1】:

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

    【讨论】:

    • 非常感谢,帮助很大!所以这意味着我在错误的道路上完成了这些行为。当然你是对的,我喜欢有一个消息。再次感谢
    猜你喜欢
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多