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