Skip to content

Latest commit

 

History

History
63 lines (51 loc) · 2.03 KB

File metadata and controls

63 lines (51 loc) · 2.03 KB

Latest Stable Version License

Laravel Failed Validation Response

Trait for Laravel FormRequests to enable the use of custom responses for failed validation (or authorization) attempts.

Installation

composer require devlop/laravel-failed-validation-response

Usage

use Devlop\Laravel\Validation\FailedValidationResponse;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Symfony\Component\HttpFoundation\Response;

class DemoRequest extends FormRequest
{
    use FailedValidationResponse;

    // ... Your normal FormRequest logic.

    /**
     * Get the response for a failed validation attempt.
     *
     * @param  Validator  $validator
     * @return Response|null
     */
    public function failedValidationResponse(Validator $validator) : ?Response
    {
        // Implement this method to use a custom response on validation failure.
        // Do not implement this method to instead use the default behaviour.

        // Example:
        return redirect()->to('/');
    }

    /**
     * Get the response for a failed authorization attempt.
     *
     * @param  Validator  $validator
     * @return Response|null
     */
    public function failedAuthorizationResponse(Validator $validator) : ?Response
    {
        // Implement this method to use a custom response on authorization failure.
        // Do not implement this method to instead use the default behaviour.

        // Example:
        return response()->json([
            'reason' => 'you are not allowed to that!',
        ], 401);
    }
}