====== 29 Laravel Custom Validation ======
Laravelでカスタムバリデーションを作成する方法
===== サービスプロバイダ作成 =====
php artisan make:provider ValidatorServiceProvider
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Domain\CustomValidator;
class ValidatorServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
\Validator::resolver(function ($translator, $data, $rules, $messages) {
return new CustomValidator($translator, $data, $rules, $messages);
});
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
==== サービスプロバイダを設定ファイルに追加 ====
'providers' => [
...
App\Providers\ValidatorServiceProvider::class,
...
===== カスタムバリデーションのルール作成 =====
※カスタムバリデーションのメソッド名は、必ずvalidateXXXXという名前にする
===== エラーメッセージ追加 =====
resources/lang/ja/validation.php
'name' => 'The :attribute no valid name',
'attributes' => [
...
'family_name_name' => 'ふりがな(せい)',
===== カスタムバリデーションを利用 =====
$request->validate([
'name' => 'required|Name',
]);
{{tag>Laravel}}