devlop/laravel-failed-validation-response

Trait for Laravel FormRequest to enable the use of custom responses for failed validation attempts.

1.0.2 2024-01-12 05:46 UTC

This package is auto-updated.

Last update: 2024-09-12 07:16:02 UTC


README

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);
    }
}