Laravel 5 Laravel 5-仅允许传递FormRequest规则字段

Laravel 5 Laravel 5-仅允许传递FormRequest规则字段,laravel-5,Laravel 5,我想使用FormRequest验证,其中 仅允许规则()中的请求字段返回数组键 在下面的代码中,我只允许请求字段“os”、“number”、“version”。如果请求包含其他字段,则返回错误响应 如何修改代码 public function rules() { return [ 'os' => [ 'required', \Rule::in(['android', 'ios']), ],

我想使用FormRequest验证,其中 仅允许规则()中的请求字段返回数组键

在下面的代码中,我只允许请求字段“os”、“number”、“version”。如果请求包含其他字段,则返回错误响应

如何修改代码

public function rules()
  {
    return [
        'os' => [
            'required',
            \Rule::in(['android', 'ios']),
        ],
        'number' => 'required|integer',
        'version' => ['required', 'regex:/^\d+.\d+.\d+$/'],
    ];
  }

有一种方法可以使用表单请求完成此操作。它可能不会发送正确的响应,但它可以工作。 在表单请求的authorize方法中,请使用以下代码

public function authorize ()
{
    $params = $this->request->keys();
    $os_status = in_array('os', $params);
    $number_status = in_array('number', $params);
    $version_status = in_array('version', $params);

    $check = $os_status & $number_status & $version_status & (count($params) != 3 ? false : true);

    return $check;
}
它将返回带有403状态代码的
HTTP
响应