例として、カタカナのみ受け付けるrulesを作成する場合
1.専用のサービスプロバイダを作成
command:php artisan make:provider KatakanaServiceProvider
これでApp/Providers配下に、新規にKatakanaServiceProviderが生成される
2.作成されたファイル内のbootメソッドにバリデーションエラーとなる条件式を記述する
public function boot()
{
Validator::extend('katakana', function ($value) { |
return (preg_match('/^[ァ-ヶー]+$/u', $value) === 1);
});
}
この場合、与えられた値がカタカナのみで構成されていない場合にエラーとしている
3.config/app.phpファイル内'providers'配列に記述を追加する
use Illuminate\Support\Facades\Validator;
~~
'providers' => [
~~
App\Providers\KatakanaServiceProvider::class,
]
4.フォームリクエストのrulesメソッド内で、通常のルールと同様に使用できる
rules => [
'UserNameFurigana' => 'required|katakana',
]