人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CakePHP1.2のバリデーションエラーメッセージについて

一般的な方法として、モデルに項目名とルール、メッセージ内容などを定義して
<?php echo $form->error('User.email');?>
このようにビューに記述することでエラーを表示できると思うのですが、

$this->validate()を行ったコントローラに対応するビューではなく
redirectした別のビューにエラーメッセージを表示させたいのですが。

たとえば、$this->validate()のあとにコントローラ内でメッセージ内容を取得することは可能でしょうか

●質問者: dedara
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:USER エラー エラーメッセージ コントローラ バリ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● t_shiono
●150ポイント ベストアンサー

お言葉に甘えて、回答に書かせて頂きます。

フォーム入力のバリデーションの対応は、

1.バリデーションの失敗時にrender(入力フォーム)としてエラー表示する

2.Model::validationErrorsをセッションなどに退避した上でredirectする

でよいのかと思います。

問題がなければ、1の方がよいと思います。

◎質問者からの返答

CakePHP以外の開発だとセッション退避⇒redirectという方法が多かったので

感覚的にそういう方法を取ろうとしてたというのもあります

でもやはり1の方がスマートな感じですね。ありがとうございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ