Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 流明验证只允许一个Get参数_Php_Lumen - Fatal编程技术网

Php 流明验证只允许一个Get参数

Php 流明验证只允许一个Get参数,php,lumen,Php,Lumen,在我的项目中,我使用Lumen,我想为我的GET请求实现某种验证 示例URL如下所示: public function handleRequest(Request $request) { try { $validatedData = $this->validate($request, [ 'tags' => 'nullable|array' ]); } catch (ValidationException $th

在我的项目中,我使用Lumen,我想为我的GET请求实现某种验证

示例URL如下所示:

public function handleRequest(Request $request)
{
    try {
        $validatedData = $this->validate($request, [
            'tags' => 'nullable|array'
        ]);
    } catch (ValidationException $th) {
        // return Error.
    }
    
    // go on.
}
[URL]/blubb/bla?标记[]=1和标记[]=2

在我的代码中,我验证URL,如下所示:

public function handleRequest(Request $request)
{
    try {
        $validatedData = $this->validate($request, [
            'tags' => 'nullable|array'
        ]);
    } catch (ValidationException $th) {
        // return Error.
    }
    
    // go on.
}
我的问题是,如果用户使用像这样的URL,则不会触发验证并调用“继续”部分

[URL]/blubb/bla?invalidParameter=1

有没有办法只允许一个“种类”的GET参数

编辑:
“标记”可以为空,因为可以在不使用任何GET参数的情况下调用我的API端点。

您可以使用
$request->all()
获得完整数组并查看键

$paramValidation = $request->all()
unset $paramValidation['tags'];
if (count($paramValidation)) {
    // error
}

但是,也许您只是想忽略其他参数。请查看方法
$request->validated()

有效:)谢谢!