まだ勉強中なのでやり方が乱暴なんですが、もっと良い方法をご存知でしたら教えて下さい。
1. バリデーションのデバッグ方法
1.1. バリデーションエラーを表示する
1.1.1 モデルでエラーメッセージを定義する
Model/名前.php
public $validate = array(
'original' => array(
'timestamp' => array(
'rule' => '/正規表現/',
'message' => 'バリデーションエラーだよ'
)
)
1.1.2 ビューでエラーメッセージを出力する
View/名前/add.ctp
echo $this->Form->error('名前.original');
1.2 実際に渡ってきているデータをdebug.logに書き出す
1.2.1 CakeValidationRule.phpをいじる
logメソッドを利用するためCakeValidationRuleクラスをObjectの小クラスにする
lib/Cake/Model/Validator/CakeValidationRule.php
class CakeValidationRule extends Object{
次に、279行に次を挿入する
lib/Cake/Model/Validator/CakeValidationRule.php
$this->log("Data under validation: ".$data[$field],LOG_DEBUG);
これで、バリデーション実行時にdebug.logにバリデーション対象のデータが書き込まれる