質問: Validation::forge(); foreach($inputs['title'] as $key => $value) { $validate->add("title[$key]","[$value]番目のtitle") //第一引数でname属性に対応した値を取得する ->add_rule('trim') //前後の空白を除去 ->add_rule('required') //必須 ->add_rule('max_length',50); //最大入力文字数 } $validate->run(); //こフラッシュセッションが画面へ表示されない、空欄になります Session::set_flash('error', $validate->show_errors()); ```
回答: 空欄ということはアラートの枠だけ表示されている感じですか? コードには問題がないように思えるので、他に可能性がありそうなものを挙げてみます。 ### Sessionのドライバーがfile 他の方の質問であったのですが、fileドライバーが正常に機能しないことがあるようです(要検証) もしfileドライバーを使っている場合、試しにdb、cookieなどに変更してみてください。 ### メソッドがPOST以外 Validation::runは引数なしで実行した場合、POSTデータのみを値に取ります。 もし、$inputsがGET, PUTメソッドなどから来ている値なら $inputsをValidation::runの引数として渡してください。 ``` $validate->run($inputs); ``` Validation クラス