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も一概に簡単ではないのでしょうね。。。