Validateがうまくいかない
単純なミスだとは思うのですがうまくいきません
cakephpのバージョンは1.2
PHPのバージョンは5.25です
コントローラーのクラス名
UsersController
コントローラーのファイル名
users_controller.php
コントローラー内
class UsersController extends AppController{
function regist(){
$data = array('email'=> $this->params['form']['email'],
'password' => $this->params['form']['password']);
debug($data) //その1
if(!$this->User->validates($data)){
$this->flash("入力NG","/users/");
return;
}
$this->User->save($data,false);
$this->flash("入力OK","/users/");
return;
}
}
モデルのクラス名
User
モデルのファイル名
user.php
モデル内
class User extends AppModel{
function beforeValidate() {
debug($this->data); //その2
}
var $validate = array(
'email' => VALID_NOT_EMPTY
);
}
emailが未入力でも入力OKとなってしまいます。
出力その1では配列に値が入っていましたが、その2では「Array()」と出るだけでした。saveはうまくいきます。
どちらかというとオブジェクト指向言語の基礎の話になりますが、
model側に引数を指定する必要があります。
function beforeValidate($results) {
debug($results); //その2
return $results;
}
でどうすか?
めんどいのでデバッグはしてません。
上記のコードをそのまま記述すると入力値が出力されました。
デバッグ方法が間違ってたということですね
ただ問題はvalidateの処理が行われないことの方で
emailが未入力でも「入力OK」となってしまいます