質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

1回答

1008閲覧

fuelphpでエラーメッセージが取得できない

enigumalu

総合スコア192

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2018/12/19 03:05

編集2018/12/19 04:02

fuelphpのValidation機能を利用して入力チェックを行おうと考えているのですが、エラーメッセージが取得できません。
コントローラー内

$val = Validation::forge(); $val->add('id','入力ID')->add_rule('required'); if (!$val->run()) { var_dump($val); };
app/config/config.php で日本語化設定をし
'language' => 'ja', 'language_fallback' => 'en', 'locale' => 'ja_JP.utf8',
configure/app/lang/ja/validation.phpにエラーメッセージを記載しているのですがエラー時にerror_messagesに値が入ってこずエラーメッセージが取得できません
return array( 'required' => ':labelは必須です', );
他に設定箇所はありますでしょうか?
{ ["fieldset": protected] => object(Fuel\ Core\ Fieldset) #28 (11) { ["name":protected]= > string(7) "default" ["fieldset_tag": protected] => NULL["fieldset_parent": protected] => NULL["fieldset_children": protected] => array(0) {}["fields": protected] => array(1) { [id"] => object(Fuel\ Core\ Fieldset_Field) #29 (12) { ["fieldset":protected]= > * RECURSION * ["name": protected] => string(12) "id" ["basename": protected] => string(12) "id" ["type": protected] => string(4) "text" ["label": protected] => string(23) "入力ID" ["value": protected] => NULL["description": protected] => string(0) "" ["rules": protected] => array(1) { [0] => array(2) { [0] => string(8) "required" [1] => array(0) {} } }["attributes": protected] => array(3) { ["type"] => string(4) "text" ["label"] => string(23) "入力ID" ["required"] => string(8) "required" }["options": protected] => array(0) {}["template": protected] => NULL["error_messages": protected] => array(0) {} } }["validation": protected] => * RECURSION * ["form": protected] => NULL["config": protected] => array(0) {}["disabled": protected] => array(0) {}["tabular_form_model": protected] => NULL["tabular_form_relation": protected] => NULL }["input": protected] => array(0) {}["validated": protected] => array(0) {}["errors": protected] => array(0) {}["callables": protected] => array(1) { [0] => * RECURSION * }["global_input_fallback": protected] => bool(true)["error_messages": protected] => array(0) {} }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/12/19 03:19

ちなみにvar_dumpの結果はどうなっているのでしょうか?
enigumalu

2018/12/19 03:25

長いので本文に追記しました
m.ts10806

2018/12/19 03:27

あ、もちろん、本文のほうがコードブロックも使えますし、要件の補足にもなるので助かります。ありがとうございます。 これで実際にerror_messagesを参照するように組んでも何も出ないということですよね?
enigumalu

2018/12/19 03:36

そうです$val->get_message('required'); や$valをforで展開した形も試してみたのですがどうにもメッセージが無く、からで返却されてしまいます
guest

回答1

0

掲載されているプログラムが文法的におかしいのは単なるコピペミスだと思いますので、それ以外部分を。

FuelPHP 的には、$val->error(); でエラーメッセージは取得します。
取り出し方の例は以下です。

PHP

1foreach ($val->error() as $k => $v) { 2 print "$k=$v\n"; 3}

投稿2018/12/19 03:41

ssasaki

総合スコア1167

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

enigumalu

2018/12/19 04:06

$val->error()の段階で中身は空です
ssasaki

2018/12/19 04:59

ちなみに、自分の環境は以下のコードで想定通り出力されます。 特に設定はしていません。 従って、書いている位置が悪いか、form を経由していないアクセスだったりとか、そのコード以外の問題になりますね。 class Controller_Test extends Controller { public function action_index() { $val = Validation::forge(); $val->add('id','入力ID')->add_rule('required'); if (!$val->run()) { foreach ($val->error() as $k => $v) { print "$k=$v\n"; } }; } }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問