手短に。
$this->Form->input('name');
上記のようにForm->inputでフォーム要素を作成すると、validationエラーがあった時に自動的にエラーメッセージが表示されますが、デフォルトだと(多分)エスケープされてしまうので改行やリンクを入れることができません。
これを回避するTIPSです。
FormHelper.phpのinputメソッド
$errMsg = $this->error($fieldName, $error); ↓ $errMsg = $this->error($fieldName, $error, array('escape' => false));
libのFormHelper.phpを編集するのは良くない*1 ので、CakePHP2系から追加されたclassNameを利用してappにmyFormHelperでも作ってメソッドをオーバーライドするとよいでしょう。
errorメソッドの方をいじって、デフォルトでエスケープしないようにするにはこう。
FormHelper.phpのerrorメソッド
$defaults = array('wrap' => true, 'class' => 'error-message', 'escape' => true); ↓ $defaults = array('wrap' => true, 'class' => 'error-message', 'escape' => false);
- アップデートで消えちゃうし [↩]