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) { /// } }