CakePHP1.3.6:Invalidateでちょとハマる
画像アップロードを作った際に、モデルのinvalidateが言うことを聞かずにちょっとはまった。
multipartの部分は、あらかじめsaveの前にチェックしてエラーがあったら画面を戻してエラーメッセージを出したい。
invalidateを使うのは、入力値が残るため。これは便利だから使いたい。
$ret = check1(); if(!$ret){ $this->Model->invalidate('Model.xxxx','エラー!'); }else{ $ret = check2(); if(!$ret){ $this->Model->invalidate('Model.xxxx','エラー!'); }else{ $this->Model->save(); } }
という入れ子をきっちり作ってsaveしないとダメみたいだ。
こういう記事(感謝です)もあるから、validate/invalidateも一概に簡単ではないのでしょうね。。。