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 を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。