少しはまったのでシェア
例えばPostモデルで定義したhogeフォームのバリデーションを下のように定義します。
Controller では $helpers = array(‘Session’); を定義しておきます。
<?php class Post extends AppModel { public $validates = array( 'hoge' => array( 'rule' => 'notEmpty', 'message' => 'hogehogehoge' ) ); }
CakePHPのチュートリアルではモデルでバリデーションを定義すれば自動的にエラーメッセージが出力されたのですが、レイアウトを独自なものにした場合(案の定)表示されない。
エラーメッセージを出力するコードはどこかなぁと探してみるとありました。
flash( $key = ‘flash’, $attrs = array ( ) )
http://api20.cakephp.org/class/session-helper#method-SessionHelperflash
エラーメッセージを出力したい場合ビューで次のように書きましょう。
<?php echo $this->Session->flash();?>
あとはCSSで綺麗に装飾してあげればok
自分の場合はコントローラーのメソッドで $this->Session->setFlash(‘表示したい内容’); を定義して、出力します。
CSSやテンプレートはメソッド毎にわけているので切り替えが相当楽です。
よりよいやり方があれば教えてくださいー( ´ω`)
更新情報はFacebookページで!
ブログの更新、読んで役立つ他ブログの記事などを更新しています。