mannysoft / api-form-request
Laravel 扩展 FormRequest 用于 REST API 请求的包。
0.2
2019-09-19 02:51 UTC
Requires
- php: >=7.2.0
This package is auto-updated.
Last update: 2024-09-03 02:21:16 UTC
README
Laravel 扩展 FormRequest 用于 REST API 请求的包。
安装
使用 composer 安装此包。
composer require mannysoft/api-form-request
Laravel 5.5 使用包自动发现功能,因此不需要您手动添加 ServiceProvider。
用法
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', ]; } }
现在您可以在控制器中使用它。
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." } ] }