CakePHP2で日付比較等の別の入力値を使ったバリデーションのやり方

CakePHPで開始日時と終了日時があって、終了日時が開始日時より古い日付になっているかどうかのチェックをする場合、そのモデルの$validateメンバ変数だけではどうにもならないため、beforeValidateの中に定義してあげます。

こんな感じにしてあげれば、別の入力値を使ったバリデーションが作れます。
$this->data[“to_date”]はどこから出てきたんだって思うかもしれませんが、これは$this->モデル名->set($this->request->data);みたいにバリデーションする前にセットすると思いますが、$this->dataはそのモデルに関する変数値が入っています。var_dumpなりで見てみると良いかもです。
また、checkDateToFromというのは独自バリデーション関数の例で、以下のような形で別途定義してあげてください。
public function checkDateToFrom($value,$value2){
・・・・
}

Filed under PHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です