edo1z blog

プログラミングなどに関するブログです

cakePHP コントローラーで手動でバリデーションエラー登録

こんな感じで登録できる。hogeはフィールドです。

$this->Blog->invalidate('hoge', '変な値です');

モデルの場合はこうです。

$this->invalidate('hoge', '変な値です');

ブログ投稿後にトラックバック送信して、送信エラーがあったらブログを登録しないようにするときに使った。

$this->Blog->begin();
if($this->Blog->save($this->request->data)){
    if($this->Trackback->send($this->Blog->read())){
        $this->Blog->commit();
        return;
    }else{
        $this->Blog->invalidate('hoge', 'トラックバックに失敗しました。');
    }
}