CakePHPのコントローラーでエラーチェックを行う

CakePHPで、確認画面を実装したいなどで

コントローラーにエラーチェックを実装したいということがあるかと思います。

$this->Model->validates() でエラーチェックを行うことが可能です。

注意したいのは、validatesを呼び出す前にModelにデータをsetすることです。

以下のようにします。


$this->Model->set( $this->request->data );
if ($this->Model->validates()) {
//エラーなしの場合
} else {
//エラーありの場合
}

さらに、特定の項目のみエラーチェックを行うことが可能です。

validates()に配列で項目名を渡してやります。


$this->Model->set( $this->request->data );
if ($this->Model->validates( array('name', 'tel') )) {
//エラーなしの場合
} else {
//エラーありの場合
}

これでname, telのバリデーションが行われます。

saveの時にバリデーションを行わないようにもできます。


if ($this->Model->save( $this->request->data, array( 'validate' => false))) {
// エラーなしの場合
}

コメント 停止中