このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
Tag Cloud
このページへのアクセス
今日: 2 / 昨日: 1
総計: 161
- Dokuwiki.fl8.jp(118)
- DokuWiki(51)
- 13 CentOS6メール設定(31)
- 30 React-admin(23)
- FreeBSD カーネル再構築(23)
- tcで帯域制限(htb)(23)
最近の更新
このページへのアクセス
今日: 2 / 昨日: 1
総計: 161
Laravelでカスタムバリデーションを作成する方法
php artisan make:provider ValidatorServiceProvider
app/Providers/ValidatorServiceProvider.php
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()
{
//
}
}
config/app.php
'providers' => [ ... App\Providers\ValidatorServiceProvider::class, ...
※カスタムバリデーションのメソッド名は、必ずvalidateXXXXという名前にする
app/CustomValidator.php
<?php namespace App; class CustomValidator extends \Illuminate\Validation\Validator { /** * なまえのバリデーション * * @param $attribute * @param $value * @param $parameters * @return bool */ public function validateName($attribute, $value, $parameters) { if (preg_match('/[^a-Z]/u', $value) !== 0) { return false; } return true; } }
resources/lang/ja/validation.php 'name' => 'The :attribute no valid name', 'attributes' => [ ... 'family_name_name' => 'ふりがな(せい)',
$request->validate([ 'name' => 'required|Name', ]);