Laravel5 自作のバリデーションを追加する

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

Laravel5のサービスプロバイダーを使って自作のバリデーションルールを追加する方法。

環境

  • Laravel 5.2

やること

  • 自作のバリデーションクラスを作る
  • サービスプロバイダーを使って自作バリデーションを登録する

自作のバリデーションクラスを作る

artisanにはバリデーションのmakeコマンドがないので自分で勝手に作る。

自作バリデーション用のディレクトリを作成

とりあえずappの下にValidationディレクトリを作成して、この中にバリデーションクラスを書いていく。

自作バリデーションを作成

先ほど作ったディレクトリに\Illuminate\Validation\Validatorを継承したクラスを作る。

メソッド名に命名規則があるので注意。

プリフィックスとしてvalidateを付ける必要がある。

app/Validation/CustomValidator.php

自作バリデーションを登録する

このままでは動かないのでバリデーション用のサービスプロバイダーを作成して登録する。

サービスプロバイダーの作成

ProvidersにValidatorServiceProvider.phpが作成されるので、boot()の中で自作バリデーションクラスを登録する。

app/Providers/ValidatorServiceProvider.php

サービスプロバイダーのオートロード設定

作成したサービスプロバイダーをconfig/app.phpのprovidersに追記する。

app/config/app.php

これでいつものバリデーションと同じように使える。

バリデーションメッセージの追加

バリデートはできるようになったけど、出力されるメッセージが意味不明になるので追記する。

resources/lang/ja/validation.php

これでメッセージもOK.

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

SNSでもご購読できます。

コメントを残す

*