Laravel 8にてひらがな・カタカナのバリデーションルールを追加する

こんにちは!トビログ管理人のトビログです!本日はLaravel 8にてカタカナのバリデーションルールを追加する方法について説明していきたいと思います!

AppServiceProviderに追加する

app/Providers/AppServiceProvider.phpのbootメソッドの中に以下の様なコードを追加します!

  • ひらがな
 Validator::extend('hiragana', function ($attribute, $value, $parameters, $validator) {
            return preg_match('/^[ぁ-ゞ]+$/u', $value);
        });
  • カタカナ
 Validator::extend('katakana', function ($attribute, $value, $parameters, $validator) {
            return preg_match('/[ァ-ヴー]+/u', $value);
        });

バリエーションの時に追加する

laravel 8ににてバリデーションを追加するところ(requiredとか書く)ところにkatakanaと書けば動きます!

つまり普通にrequestファイルに書いたり、コントローラーのバリデーションしているところに書けばOK

ここのコードの説明と応用

上記のコードでやっていることは

Validator::extend('〇〇', function ($attribute, $value, $parameters, $validator) {
            return preg_match('△△△△△△△', $value);
        });

〇のところに追加したいバリエーション名をします。△△△△△△△には正規表現を書きます。

ということは、

Validator::extend('〇〇', function ($attribute, $value, $parameters, $validator) {
            return △△△△△△△
        });

〇にバリデーション名、△△△△△△△に処理(trueだとバリデーションが通ります)を書けばいいということになります!

こんなに簡単に追加できるなんて知りませんでした!

トビログでは今後もlaravelの記事を書いていきたいと思っています!もし気になることなどがあればTwitterにて教えてください!


とびうお
ブログ管理人です!
swimaneというアプリをリリースしました!

コメント

タイトルとURLをコピーしました