WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
直前の入力

直前の入力

このエントリーをはてなブックマークに追加

フォームからデータを入力した際、バリデーションではじかれ、今入力した値が全て空白になっているサイトをたまに見かけます。自分の入力ミスだとはいえ、『いらっ』ときたことがありませんか。

こんなサイトは、ユーザーに優しいサイトとはいえないでしょう。

そこで、ユーザーが入力した直前値を次のページ(同じ入力ページでもバリデーション後のページは別ページです)へ引き継ぐのにセッションを利用します。

直前のデータを取得する

直前の値を取得するには、Input::old()メソッドを使用します。第1引数に取得したい値のキーを指定します。第2引数はオプションで、初期値を指定します。
(例)
Form::text(‘username’,Input::old(‘username’,”));
上記例では、Form::text()の値に、直前値を指定しています。直前値がない場合は第2引数の空白を返します。

次ページへデータを渡す

次ページへデータを渡すにはチェーンメソッドのwithInput()で渡すことができます。
(例)
return Redirect::back()->withInput();
上記例では、前ページから渡されたデータの全ての連想配列を添付して、前ページへリダイレクトします。

セッションに入力値を保存する

セッションに入力値を保存するには、Input::flash()メソッドを使用します。

入力値を限定するには、flashOnlyまたは、flashExceptを使用します。flashOnlyは、引数で指定した値を保存し、flashExceptは引数で指定した以外の値を保存します。
(例)
Input::flashOnly(‘username’,’email’);
上記例では、セッション名’username’にInput::get(‘username’)の値を、’email’にInput::get(‘emai’)の値を保存します。
Input::flashExcept(‘password’);
上記例では、Input::get(‘password’)以外の値をセッションに保存します。

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です