CakePHP Note (v1.3) > モデル > 検証
検証
モデル内にデータを検証(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{ //データが不適格 }