【Laravel】バリデーションの前に、パラメータを操作する方法

やりたいこと
Laravelのバリデーションを行う前に、入力値に対して処理を行いたい。
例:半角英数字を入力してもらいたい項目だが、全角で入力された場合でも、半角に変換して受け入れてあげたい。
Request
prepareForValidationを利用することで、実現可能です。
<?php
// ... 省略 ...
class HogeRequest extends FormRequest
{
public function rules()
{
return [
// 必須 英数字 50文字
'key' => ['required', 'alpha_num', 'max:50'],
];
}
public function prepareForValidation() {
$this->merge([
'key' => mb_convert_kana($this->key, 'a'),
]);
}
}
2022-07-18 09:00:00
