Laravel FormRequest2段階のバリデーション(パスした後でもう一つチェック)をする方法
protected function passedValidation() //FormRequestのpassedValidationをoverride
{
//POSTの場合のみ処理
//validatorを作成しfail時にValidationExceptionをthrowする
if (request()->method == Request::METHOD_POST) {
$validator = Validator::make($this->all(),[
'input_name' => [new OriginalRule()]
]);
if ($validator->fails()) {
throw(new ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo($this->getRedirectUrl());
}
}
}