2011-01-16 13 views
1

私はCakePHPでかなり新しいですが、私は一般的な理解を証明する質問があります。私は、飛行記録を扱うことができなければならない飛行訓練会社の申請書を書いています。誰かがフライトに入ると、入力されたデータが有効かどうかを確認するために多くの作業が行われます。モデルが提供する方法でレコードをチェックするだけではなく(例えば、入力された時間が有効であればフィールドをチェックする)、着陸する前に(時間通りに)離陸したかどうかをチェックするようにしてください。たとえ同じ時間枠内に既に飛行記録があるのであれば、質問さえも。datavalidation/CakePhpの振る舞い

コントローラでこれらのチェックを行うかどうか、またはこのモデルの特定の動作を作成する方がよいかどうかは疑問です。また、理解が不足していることが明らかになりました。モデルでbeforeInsert関数を使用するだけで済むのですか?私は多くの記事を読んで、笑いを浮かべましたが、私は結論に至っていません。

答えて

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; 
} 
+0

多くのおかげで多くのことに感謝します!これは、私が間違った道をたどり着いた行動を意味します。もちろん、あなたは正しいです、私はメッセージを持っているのが好きです。もう一度ありがとう –