CakePHPのValidateメッセージの改行

このQ&Aのポイント
  • CakePHPのValidateメッセージの改行方法を教えてください。
  • <br/>タグを使用してメッセージを改行しようとしたが、うまく表示されない。
  • 改行したいエラーメッセージを2行で表示する方法はあるか。
回答を見る
  • ベストアンサー

CakePHPのValidateメッセージの改行

CakePHPのValidateメッセージの改行方法を教えてください。 「エラーメッセージです」 というメッセージを 「エラー」 「メッセージです」 というように2行で出力したいのです。 下記のように<br/>を入れてメッセージを設定してみたのですが、 「<div class="error-message">エラー&lt;br/&gt;メッセージです</div>」 というソースが出力され、ブラウザ上でも「エラー<br/>メッセージです」と そのまま表示されてしまいます。 var $validate = array( 'test' => array( array( 'rule' =>VALID_NOT_EMPTY, 'message' => "エラー<br/>メッセージです" ) );

noname#129301
noname#129301
  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

手元にCakePHP環境がないんで試してないんだが。 エラーの表示に、おそらく$form->errorを使っていると思うんだが、ここでエスケープをOFFにしたらどうか。 $form->error( 'Hoge.hoge',null,array('escape' => false)) こんな感じ。

noname#129301
質問者

お礼

無事に改行「<br/>」がそのまま出力されるようになりました。 ありがとうございました。

関連するQ&A

  • CakePHPでvalidateのメッセージの表示

    バリデーションで設定したエラーメッセージをsetFlashで表示したいのですが、 エラーメッセージ(下記のhoge)を取得する方法はありますか? CakePHP 2x Model public $validate = array( 'username' => array( 'rule' => 'notEmpty' 'message' => 'hoge' ) ); Controller $this->Session->setFlash('test'); $this->redirect('index');

    • 締切済み
    • PHP
  • divやp要素の前後は改行されるとありますがどこから改行されるのでしょうか

    <body> <div align="center"> <br> あいうえお<br> <img src="../xxx/1.jpg" width="640" height="400" border="0"> <br> <p class="text_min"> あいうえお<br> </p> あいうえお<br> <br> </div> </body> 上記の場合、改行位置はこうでしょうか?↓ *改行* <div align="center"> </div> *改行* *改行* <p class="text_min"> </p> *改行* という事でしょうか? 当たり前のような質問ですいません!

  • cakePHPのサンプルブログで検証エラーが出ない

    cakePHP初心者です(まだはじめて数時間くらい) で、cookbookにそってサンプルブログを組んでいるのですが、 http://book.cakephp.org/2.0/ja/getting-started.html のとおり、 Postモデルに class Post extends AppModel {    public $validate = array(       'title' => array(          'rule' => 'notEmpty'       ),       'body' => array(          'rule' => 'notEmpty'       )    ); } (↑タブを全角空白4文字に変換してます) と入れてsaveしたものの、 title,bodyを空で投稿しても、エラー表示されず投稿できてしまいます (投稿一覧にも表示されます) FWを使わないで自力で組むなら、自分なりにエラーを見つけられるのですが、 まだcakePHPになれていないため、 このバグの原因を追求するためになにからはじめたらいいのかわかりません。 どなたかお教えいただけないでしょうか? よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • jsp 改行コードで改行させて表示したい

    はじめまして。 PostgreSQLから読み込んだ文字列データを表示させるtomcat+struts+servlet/jspを作成中です。 データの文字列に含まれる改行が、クライアントに表示された際に反映されず困っています。 過去ログも調べ、近い質問はありましたが、僕とは内容が微妙に違うようで、改めて質問させていただきました。 例えば、あるテーブルのある項目に、 A B C というデータ(A,Bそれぞれの後に改行のある3行の文字列)があるとします。 これを読み込みaction form bean(と言うのですか?setter/getterを定義する関数です)を介してjspに埋め込むと、できあがるhtmlでは、 ABC と改行されずに表示されます。 htmlで改行させるには「<BR>」が必要なのかと、データ文字列に0x0dや0x0a、または0x0d+0x0aがあれば「<BR>」に置き換えてaction form bean(?)のsetterに渡してjspを作ると、今度は、 A<BR>B<BR>C と「<BR>」が文字列として表示されます。 htmlをソース表示すると、「A&lt;BR&gt;B&lt;BR&gt;C」で、親切にも「<」「>」をそれぞれ「&lt;」「&gt;」に勝手に置き換えあくまで文字列として表示してくれるようです。 試しに改行コードを「&lt;BR&gt;」に置き換えても予想通りその部分は &lt;BR&gt; とそのまま表示され、そのソースは「&amp;lt;BR&amp;gt;」でした。 「<」や「&lt;」等をそれぞれ「&lt;」「&amp;lt;」のように置き換える作業は、どこが行っているのでしょうか。 また、改行位置で改行させるにはどうすればよろしいでしょう。 OSはwindowsXPです。 無知ゆえに、つまらないことで悪戦苦闘しているのかも知れませんが、経験も浅くてよく解りません。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • 改行コード入り文字列を含むXMLの変換方法

    PHPを用いて、XMLからXSLTを経由しHTMLを出力するというプログラムを作成しています。 ほとんど完成しているのですが、最後に改行で問題が発生してしまい かなり困っています。 XML内に保存されている改行入りの文字列を HTMLできちんと改行されたまま表示したいのですが 繋がったまま出力されてしまいます。 ------------------------------------------------------- ※&lt;br /&gt;は、PHPで入力文章の確認をする際に  改行させたまま表示させたいので記述して  それを残したままXMLに保存しています。 <sample> <title>見出し1</title> <paragraph>  あいうえお&lt;br /&gt;  あいうえお&lt;br /&gt;   あいうえお&lt;br /&gt; </paragraph> <sample> ↓PHPでXSLTを通してHTMLに出力 見出し1 あいうえお<br />あいうえお<br />あいうえお ------------------------------------------------------- これを、改行された状態で表示できるようにしたいのですが なかなか上手くいきません。 何か、解決策が思い浮かぶ方がいらっしゃいましたら 是非、教えていただきたいです。 利用環境はPHP5です。よろしくお願いします。

    • ベストアンサー
    • PHP
  • ソースの中で改行するには(CakePHPヘルパー)

    とても初歩的なことを質問します。 CakePHPのnestedListヘルパーで出力すると、ソースは一行で表示されてしまいます。 たとえば以下の場合、 echo $html->nestedList(array( $html->link($hoge1,'#1'), $html->link($hoge2,'#2'), $html->link($hoge3,'#3'), $html->link($hoge4,'#4'), )); ソース上では以下のように一行で出力されます。 <ul><li>ほげ1</li><li>ほげ2</li><li>ほげ3</li><li>ほげ4</li></ul> (もちろん、ブラウザ上ではなんの問題もありませんが...) これを <ul>  <li>ほげ1</li>  <li>ほげ2</li>  <li>ほげ3</li>  <li>ほげ4</li> </ul> このように改行とタブを入れてソースを整形したいのですが、どう書けばいいのでしょうか。

    • ベストアンサー
    • PHP
  • CakePHP Undefined index

    CakePHP(cake_1.2.1)にて、ユーザーログイン機能を作成しようとしてます。 class UsersController extends AppController{ var $name = 'Users'; var $uses = array('User'); // Userモデルを使用 var $needAuth = true; // ログイン必須のフラグ /* * ログインページ */ function login() { // ページタイトルの設定 $this->pageTitle = 'Web-local.community「local.SNS」'; // データが送られてきたら if(!empty($this->data)){ // パスワードを暗号化 $this->data['User']['pwd'] = md5($this->data['User']['pwd']); // 入力された[id]と[pwd]がデータベースにある場合のみ[$user_data]に値が入る $user_data = $this->User->findByEmailAndPwd($this->data['User']['email'], $this->data['User']['pwd']); ・・・ というコントローラーをWebサイトの先人様のを参考にして試作しているのですが、あらかじめ作成したusersテーブルに登録しておいたユーザーのメールアドレス、パスワードを入力して、ログインボタンを押すと、 Notice (8): Undefined index: User [APP\controllers\users_controller.php, line 18] Notice (8): Undefined index: email [APP\controllers\users_controller.php, line 20] というエラーが出て困ってます。"User"、"email"は、知りませんと言っているのでしょう。 モデル等の宣言の箇所で、 // var $name = 'Users'; // var $uses = array('User'); // Userモデルを使用 あるいは、 // var $name = 'Users'; var $uses = array('User'); // Userモデルを使用 あるいは var $name = 'Users'; // var $uses = array('User'); // Userモデルを使用 とコメントアウトしても、前記エラーは変わりません。Webをいろいろ検索しても、解決策が見当たらず、投稿させていただきました。何か、設定が抜けているのでしょうか?どなたかすみませんが、教えてください。

  • TEXTAREAの改行がうまくいきません。

    自作で掲示版を作成している、初心者です。現在作成中の掲示版にTEXTAREAに入力し、LOG上では1行目<BR>2行目といった形で改行をBRに置き換えて保存していますが、その修正としてLOGからデータをとり改行状態で表示させたいのですが、 うまく改行されない状態です。下記にLOGより読み込み。タグを\rに置き換えて いますが、TEXTAREAに表示されなく、改行表示どころではありません。 いったいどうすればよいのでしょうか?ご教示をお願いします。 <CGI文> $wkaaa1 = $IXUSERINF{Enaiyo}; データを取得 $wkaaa =~ &notag1($wkaaa1);  変換(これがおかしい?) $mesbuff .= "<TR><TD nowrap ><TEXTAREA ROW=\"10\" COLS=\"48\" NAME=\"Enaiyo\" WRAP=\"soft\">$wkaaa </TEXTAREA></TD></TR>"; <sub> sub notag1 { local($_) = @_; s/&/&amp;/g; s/"/&quot;/g; s/</&lt;/g; s/>/&gt;/g; s/&lt;br&gt;/\n/gi (これで <BR>を\n(改行)にしてるつもり return $_; }

    • ベストアンサー
    • CGI
  • CakePHPのブログチュートリアルについて

    PHPフレームワークのCakeについて、質問させてください。 初心者ならだれもが一度は試すであろうhttp://book.cakephp.org/ja/view/219/Blogに掲載されているブログチュートリアルですが、下記環境で実行すると大量のエラーが出力されます。(添付画像参照) 環境:hetemlレンタルサーバー Apache 2.0.xx ver 4.4.2 ※CakePHPのトップページが正常に表示されること、tmpフォルダのパーミッションは正常に設定されていることは確認しています。 また、Viewで正常にデータを取得できているにもかかわらずデータ表示部分でエラーが表示されるため、変数$postsをvar_dumpしたところ、 Array ( [0] => Array ( [id] => Array ( [id] => 1 ) [title] => Array ( [title] => タイトル ) [body] => Array ( [body] => これは、記事の本文です。 ) [created] => Array ( [created] => 2009-08-08 21:56:50 ) [modified] => Array ( [modified] => ) ) [1] => Array ( [id] => Array ( [id] => 2 ) [title] => Array ( [title] => またタイトル ) [body] => Array ( [body] => そこに本文が続きます。 ) [created] => Array ( [created] => 2009-08-08 21:56:50 ) [modified] => Array ( [modified] => ) ) [2] => Array ( [id] => Array ( [id] => 3 ) [title] => Array ( [title] => タイトルの逆襲 ) [body] => Array ( [body] => こりゃ本当に面白そう!うそ。 ) [created] => Array ( [created] => 2009-08-08 21:56:50 ) [modified] => Array ( [modified] => ) ) ) となっていました。 これでは、チュートリアルに掲載されている、 <?php echo $post['Post']['id']; ?> ではなく、 <?php echo $post['id']['id']; ?> で呼び出さなくてはならなくなります。 これはどこかがおかしいのでしょうか?教えてください。

    • 締切済み
    • PHP
  • CakePHP リッチテキストエディタについて

    CakePHPのリッチテキストエディタについて質問があります。 以下のように、VIEWファイルを作成しました。 <?php echo $fck->textarea('column1',array('label'=>false,'div'=>false,'error'=>false,'class'=>'comment-email')); ?> このカラムのデータを、contollerでDBにINSERT処理を行っております。 画面から、このカラムに値を入れ、submitを行いDBの値を確認しましたが、column1の値がNULLのままでした。 どのようにしたら、リッチテキストエディタの値をDBに反映させれるかが分かりません。 お手数ですが、ご教唆頂けますでしょうか?

    • ベストアンサー
    • PHP

専門家に質問してみよう