忍者ブログ
 

東京・赤坂のシステム開発会社プラムザで働く、プログラマーの学習記録。

Laravel4のバリデーションの学習

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

Laravel4のバリデーションの学習

ここ数日、Laravel4.2を触っています。
今回はバリデーションについて備忘も兼ねてブログに書いてみます。

バリデーションのルールと、カスタムエラーメッセージを設定

対象をキーとして指定、値にルールを半角パイプ「|」で区切って記述します。
バリデーションのオプションを半角コロン「:」で区切って指定できます。
$rules = [
    'email' => 'required|email|unique:users,email',
    'password' => 'min:8',
];
デフォルトで英語のエラーメッセージが出力されます。
デフォルトのメッセージで都合が悪い場合は 次のように指定します。
$messages = [
    'required' => ':attribute は必須項目です。',
    'unique' => ':attribute に使用済みの値が指定されました。',
    'min' => ':attribute は :min文字以上入力してください。',
];

バリデーション実行

//入力値を取得
$input_params = Input::all();
//バリデーション
$validator = Validator::make($user_inputs, $rules, $messages);
//バリデーションエラーの有無を確認
if ($validator->fails()) {
    //エラーをフラッシュセッションにセットして、入力画面に戻る・・・・
    Redirect::to('path/to/input')->withErrors($validator);
}

エラーメッセージの表示

リダイレクト先の画面のビューにエラー内容の配列が "$errors" という変数に自動でセットされます。
ビューでエラーを表示する場合は次のように記述しますす。項目ごとに個別に出すこともできますが、ここでは割愛します。
@foreach ($errors->all() as $message)
{{{$message}}}
@endforeach

バリデーションの優先順や、条件をAND・ORで分岐させる方法などは別の機会にまた改めて調べてみようと思います。
PR

コメント

プロフィール

HN:
はと
性別:
非公開

P R