alpha, alpha_num ,alpha_dash を使ってもマルチバイト(日本語)が通ってしまう仕様上の問題が起こる
- 正規表現を使用する
- カスタムバリデーションで対応する
正規表現を使用する
多用しないのであれば都度正規表現 regex を使って対応する
パターンを定数化しておくなど適宜リファクタリングする
//英字
$pattern_alpha = '/^[a-zA-Z]+$/';
//英数字
$pattern_alpha_num = '/^[a-zA-Z\d]+$/';
//英数字、アンダースコア、ダッシュ
$pattern_alpha_dash = '/^[\w\-]+$/';
例
return [
'name' => 'required|regex:' . $pattern_alpha . '',
];
正規表現についてはこちらを参照
正規表現の基本 - Qiita
https://qiita.com/sea_ship/items/7c8811b5cf37d700adc4
カスタムバリデーションで対応する
適宜