はじめにLaravel で 全角カタカナ・半角英数記号 に変換しつつバリデーションする方法について整理した。 要件としては下記。 バリデーションの前にデータを変換 「全角かな・半角カナ」→「全角カナ」 「全角英数記号」→「半角英数記号」 変換したデータに対してバリデーション バリデーション OK ならその後の処理も変換後のデータを利用 レコードの 作成/更新 とか検索とか TL;DR prepareForValidation でバリデーション前の処理 mb_convert_kana で全角・半角の変換 変換できない文字もあるので注意 regex ルールで正規表現を使ってバリデーション バリデーション通れば後はいつも通り
![Laravel で 全角カタカナ・半角英数記号 に変換しつつバリデーション](https://cdn-ak-scissors.b.st-hatena.com/image/square/29fdcf0a95ea52dd23ed5edcea884c8135f0076e/height=288;version=1;width=512/https%3A%2F%2Fr17n.page%2F2019%2F12%2F14%2Flaravel-validate-with-convert-kana-and-alpha-numeric-symbols%2F2019-12-14-13-41-51.png)