2018/10/12

バリデーションの設定を行います。
やりたいこと
Requestクラスを作成してバリデーションを実装
予備知識
Laravel5.2のバリデーションについて事前に勉強しておく必要があります。
進め方
【1】Requestクラスを作成
【2】Requestクラスの編集
【3】エラーメッセージの日本語化
【1】Requestクラスを作成
artisanコマンドでフォームリクエストを生成します。
php artisan make:request CrudRequest
CrudReqest.phpが自動生成されます。
app/Http/Requestsディレクトリーに設置されます。
このファイルにあるrulesメソッドにバリデーションルールを追加していきます。
【2】Requestクラスの編集
認証の仕組みがない場合は『何でも通すよ』という意味でauthorize()をtrueにします。
public function authorize()
{
  // return false;
  return true;
}
項目ごとにバリデーションを設定していきます。
public function rules()
{
  return [
  'name' => 'required|max:255',
  'mail' => 'required|email',
  'gender' => 'required',
  'age' => 'required|numeric',
  'pref' => 'required',
  'birthday' => 'required',
  'tel' => 'required|numeric'
  ];
}
【3】エラーメッセージの日本語化
デフォルトではエラーメッセージが英語なのでこれを日本語にします。
validation.phpの日本語版をダウンロードします。
Laravel 5.1 日本語バリデーションメッセージファイル
ダウンロードした validation.php を resources/lang/ja/ 直下に配置します。

config/app.phpのlocale を 'ja' に変更します。
resource/lang/ja/validation.php のファイルのattributesをカスタマイズしていきます。
:
  'attributes' => [
    'name' => 'お名前',
    'mail' => 'メールアドレス',
    'gender' => '性別',
    'age' => '年齢',
    'pref' => '都道府県',
    'birthday' => '生年月日',
    'tel' => '電話番号',
],
:
バリデーションの作成は以上になります。

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。