LaravelではFormRequestでバリデーションをすることが普通ですが、標準ではバリデーションエラー時にリダイレクトバックしてしまいます。
ページによってはリダイレクトで戻る先を変更したい、Controller内でリダイレクト制御したい場合があると思います。その場合には継承したFormRequestのfailedValidationをオーバーライドして空メソッドにすることで実現できます。
namespace Http\Requests\Password
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
class PasswordRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'password' => ['required', 'min:6', 'max:20'],
];
}
public function attributes()
{
return [
'password' => '「パスワード」',
];
}
public function messages()
{
return [
'password.required' => ':attributeを入力してください。',
];
}
/**
* バリデーションエラーの場合にリダイレクトバックしない
*
* @param Validator $validator
*
*/
protected function failedValidation(Validator $validator)
{
///
}
}
![[Laravel]パラメータ付きでリダイレクトする方法](https://biotope.work/wp-content/uploads/2020/04/laravel_logo_240-300x196.jpg)
![[Laravel]FormRequest内でフィルターしてoldヘルパーで利用する方法](https://biotope.work/wp-content/uploads/2021/01/laravel_logo_230r-300x196.jpg)