diff --git a/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php b/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php index e4de332fa430..b92381e564d6 100644 --- a/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php +++ b/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php @@ -25,6 +25,8 @@ public function validateResolved() if ($instance->fails()) { $this->failedValidation($instance); } + + $this->passedValidation(); } /** @@ -34,7 +36,7 @@ public function validateResolved() */ protected function prepareForValidation() { - // no default action + // } /** @@ -47,6 +49,16 @@ protected function getValidatorInstance() return $this->validator(); } + /** + * Handle a passed validation attempt. + * + * @return void + */ + protected function passedValidation() + { + // + } + /** * Handle a failed validation attempt. * diff --git a/tests/Foundation/FoundationFormRequestTest.php b/tests/Foundation/FoundationFormRequestTest.php index 4a25229194fb..a3f6cad239de 100644 --- a/tests/Foundation/FoundationFormRequestTest.php +++ b/tests/Foundation/FoundationFormRequestTest.php @@ -106,6 +106,15 @@ public function test_prepare_for_validation_runs_before_validation() $this->createRequest([], FoundationTestFormRequestHooks::class)->validateResolved(); } + public function test_after_validation_runs_after_validation() + { + $request = $this->createRequest([], FoundationTestFormRequestHooks::class); + + $request->validateResolved(); + + $this->assertEquals(['name' => 'Adam'], $request->all()); + } + /** * Catch the given exception thrown from the executor, and return it. * @@ -305,4 +314,9 @@ public function prepareForValidation() { $this->replace(['name' => 'Taylor']); } + + public function passedValidation() + { + $this->replace(['name' => 'Adam']); + } }