FuelPHPでFieldset_Fieldクラスを使ってフィールド生成するときのエラーメッセージについて

この記事は公開されてから8年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。

FuelPHPではFieldsetクラスを使うと簡単にフォームのhtmlソースが作れるんです。
その中の各フィールドごとにやるには echo $fieldset->field(‘name’); とかすると出てくるんです。

で、1時間くらいつまずいていたのは、このやり方でフィールドを表示した時にフィールドごとのエラーメッセージを入力フィールドの横にも出せないかと。

フィールドごとのhtmlソースのテンプレートは core/config/form.php のなかで field_template というキーで設定されているんですが、そこにはバッチリ {error_msg} とかかれていれ表示されるはずなんですが、表示されず。

というわけで、GitHub の fuel/core のソースコードを追いかけて classes/fieldset.php やら classes/fieldset/field.php とかを見ていましたが、ふと気づいたのは fielset/field.php のこの一行

「あれ?もしかして、設定ファイルで inline_errors って値を真にしないとダメってこと?」

はい、設定ファイルを見なおしてみましょう。

ということで、デフォルトでは false になっているので、フィールドごとのエラー表示はされないというオチでした。
なので、core/config/form.php を app/config/form.php にコピーして inline_errors の値を true に変えてやると問題なくフィールドの横にエラーメッセージが表示されましたとさ。

というか、デフォルトではfalseってのはどうかとおもいますが。。。

コメント

  1. […] FuelPHPでFieldset_Fieldクラスを使ってフィールド生成するときのエラーメッセージについて | T.T.Soft Code Blog […]