以下に、暫定的ですが、対応策を書きました。
FuelPHPのScaffold(admin)と、バリデーションエラーメッセージのエスケープ問題の対応策。(応急処置。)
http://madroom-project.blogspot.jp/2012/06/fuelphpscaffoldadmin.html
--
以下の現象は、Ver1.2で確認しています。
oilで生成したフォームから入力してバリデーションエラーが発生すると、コントローラの
Session::set_flash('error', $val->show_errors());に刺さりますが、同時に生成されるViewで
e((array) Session::get_flash('error')));していて、eメソッド(fuel\core\base.phpに有ります。)でエスケープされてしまい、htmlとして出力されませんでした。
数日前にフォーラムで、同様の話に関するやり取りがされていたようです。
http://fuelphp.com/forums/topics/view/9416
フォーラムに記載されている通り
* View側を修正する
* Fuel\Core\Validationで使用される以下のコンフィグ値を調整する
'open_list' => \Config::get('validation.open_list', '<ul>'), 'close_list' => \Config::get('validation.close_list', '</ul>'), 'open_error' => \Config::get('validation.open_error', '<li>'), 'close_error' => \Config::get('validation.close_error', '</li>'),のどちらかになりそうです。
ただ、後者だと結局preタグとかも使えないので、前者の方法が手っ取り早いかなと思いました。
No comments:
Post a Comment