検証

モデル内にデータを検証(Validation)するためのルールを記述することができます。データの検証はモデルのsave()メソッドの中で自動的に実行されます。validates()メソッドを使って任意のタイミングでデータ検証する事も出来ます。各フィールドのエラーメッセージはformヘルパーが出力します。

データ検証の方法

以下のようなものがあります。モデルファイルに記述します。

  • シンプルな検証ルールを指定する方法
  • 検証ルールを詳しく指定する方法
  • 独自の検証ルールを指定する方法
    • 正規表現でルールを記述する方法
    • モデル内のメソッド名を記述してコールバックする方法
    • 'userDefined'とクラス名とメソッド名を記述して特定クラスのメソッドをコールバックさせる方法

シンプルな検証ルールを指定する

モデルの$validate属性に設定します。

var $validate = array('fieldName' => 'ruleName');

fieldName は検証したいフィールド、ruleNameはCakePHPによって定義されている検証ルール名。

保存以外のタイミングでデータ検証する

任意のタイミングでデータ検証するには、モデルにset()メソッドでデータをセットておきvalidates()メソッドを呼ぶ事で検証できます。save()メソッドの中でデータ検証を行わないようにするには、save()メソッドの第2引数にfalseを指定します。

        $this->User->set($this->data);
        if( $this->User->validates()){
            //データ検証された
            //...
            //データ検証なしで保存
            if($this->User->save($this->data,false)){
                //保存成功
            }
        }else{
            //データが不適格
        }

CakePHP Note (v1.3)

Index