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