【CakePHP2.1】モデルで定義したバリデーションのエラーメッセージを表示する方法


少しはまったのでシェア

例えばPostモデルで定義したhogeフォームのバリデーションを下のように定義します。
Controller では $helpers = array(‘Session’); を定義しておきます。

CakePHPのチュートリアルではモデルでバリデーションを定義すれば自動的にエラーメッセージが出力されたのですが、レイアウトを独自なものにした場合(案の定)表示されない。

エラーメッセージを出力するコードはどこかなぁと探してみるとありました。

flash( $key = ‘flash’, $attrs = array ( ) )
http://api20.cakephp.org/class/session-helper#method-SessionHelperflash

エラーメッセージを出力したい場合ビューで次のように書きましょう。

あとはCSSで綺麗に装飾してあげればok

自分の場合はコントローラーのメソッドで $this->Session->setFlash(‘表示したい内容’); を定義して、出力します。
CSSやテンプレートはメソッド毎にわけているので切り替えが相当楽です。
よりよいやり方があれば教えてくださいー( ´ω`)

更新情報はFacebookページで!

ブログの更新、読んで役立つ他ブログの記事などを更新しています。




関連のある記事


質問があればこちらからどうぞ