Php Laravel中的自定义请求验证程序

Php Laravel中的自定义请求验证程序,php,laravel,request,laravel-5.1,Php,Laravel,Request,Laravel 5.1,我只想使用laravel自定义请求处理程序验证API请求。为此,我创建了一个RegisterRequest,包含以下内容 <?php namespace App\Http\Requests\Api\Auth; use App\Http\Requests\Request; class RegisterRequest extends Request { /** * Determine if the user is authorized to make this requ

我只想使用laravel自定义请求处理程序验证API请求。为此,我创建了一个RegisterRequest,包含以下内容

<?php

namespace App\Http\Requests\Api\Auth;

use App\Http\Requests\Request;

class RegisterRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'email' => 'required'
        ];
    }
}
但是,响应中既没有显示验证参数,也没有显示请求参数。 所有路由都工作正常,但查询参数为空。任何帮助都将受到感谢

版本:Laravel:5.1


我想让laravel处理所有请求参数,并告诉API请求是成功的还是有错误的。您的
authorize
方法应该返回true。如果为false,
RegisterRequest
将返回禁止,因为您无权使用此
RegisterRequest
类。因此,将您的
authorize
方法从
RegisterRequest
更改为:

public function authorize()
{
    return true;
}
编辑: 如果要以自己的方式回复错误消息,可以覆盖
RegisterRequest
方法中的响应方法,如下所示:

public function response(array $errors)
{
    return \Response::json($errors);
}

我已将其更改为false,以强制对api end进行错误响应。如果authorize方法返回false,将自动返回带有403状态码的HTTP响应,并且您的控制器方法将不会执行。有关更多信息,请检查此项,Laravel将自动检查请求是否为ajax并返回相应的响应,对吗?请求尝试没有返回任何响应。您的请求甚至没有到达控制器方法,因此无法添加任何内容;D
public function response(array $errors)
{
    return \Response::json($errors);
}