Php 流明验证只允许一个Get参数
在我的项目中,我使用Lumen,我想为我的GET请求实现某种验证 示例URL如下所示: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
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()
有效:)谢谢!