devlop/laravel-failed-validation-response

为 Laravel FormRequest 添加特性,以便在验证失败时使用自定义响应。

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

Laravel FormRequests 的特性,允许在验证(或授权)失败时使用自定义响应。

安装

composer require devlop/laravel-failed-validation-response

使用方法

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