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)
    {
        ///
    }
}
おすすめの記事