Learn or Die

生涯勉強。Macです。

独自のバリデーションルールを追加する

追加方法

  1. クロージャを使用する サイト全体の中で一度しか使用しないルールはこちらで記述すると○。
<?php

//例)「ひらがな」かどうかをチェックする  
private function validateRules($request)
{
    $request->validate([
        'name' => 'required|string',
        'kana' => [
            'required',
            'string',
            function ($attribute, $value, $fail) {
                if (preg_match('/[^ぁ-んー]/u', $value) !== 0) {
                  return $fail('かなはひらがなで入力してください');
                }
            }
        ]
    ];
}
  1. Ruleオブジェクトを作成する artisanから新規にRuleオブジェクトを作成して、呼び出すことも可能。
$ php artisan make:rule kana
  1. サービスプロバイダーに登録する サイト中で何度も使用する場合はこの方法が○。
    サービスプロバイダに登録した場合は、①や②とちがい「|記法」を使用できるようになる
$ php artisan make:provider KanaServiceProvider

参考サイト

tac-blog.tech