LaravelPackages.net
Acme Inc.
Toggle sidebar
mannysoft/api-form-request

Laravel package for extending FormRequest for REST API Request.

1.966
1
0.2
About mannysoft/api-form-request

mannysoft/api-form-request is a Laravel package for laravel package for extending formrequest for rest api request.. It currently has 1 GitHub stars and 1.966 downloads on Packagist (latest version 0.2). Install it with composer require mannysoft/api-form-request. Discover more Laravel packages by mannysoft or browse all Laravel packages to compare alternatives.

Last updated

API Form Request

Laravel package for extending FormRequest for REST API Request.

Installation

Require this package with composer.

composer require mannysoft/api-form-request

Laravel 5.5 uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.

Usage

namespace App\Http\Requests\Api;

use Mannysoft\ApiFormRequest\ApiFormRequest;

class RegisterUser extends ApiFormRequest
{
    // Whether you want to use other status code other than 422.
    // You can use 400 also
    protected $statusCode = 422;
    
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'fullname' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
        ];
    }
}

Now you can use in your controller.

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Api\RegisterUser;
use App\User;

class UserController extends Controller
{

    public function register(RegisterUser $request)
    {
        User::create([
            'fullname' => request('fullname'),
            'email' => request('email'),
            'password' => bcrypt(request('password')),
        ]);
    }
}
{
    "errors": [
        {
            "field": "email",
            "message": "The email has already been taken."
        },
        {
            "field": "password",
            "message": "The password confirmation does not match."
        }
    ]
}

Star History Chart