laravel - 如何在不重定向无效输入的情况下使用 FormRequest 进行验证?
问题描述
我正在使用可以通过查询参数设置的几个过滤器的表视图,我想使用FormRequest
- 在这种情况下验证给定的输入ExplorerRequest
。
一种控制器方法的当前实现如下所示:
public function show(ExplorerRequest $request) : Response
{
$neo4j = new Neo4JService();
// Here I would like to perform some neo4j queries depending on the validated input
return Inertia::render('Explorer', [
'filters' => $request->validated(), // to display filter-state in frontend
'nodes' => $neo4j->getNodes() // filtered nodes by request input
]);
}
在 中ExplorerRequest
,我定义了一些示例规则:
public function rules()
{
return [
'status' => ['numeric'],
'sortBy' => ['string'],
];
}
这个想法是跳过一个参数,如果它是无效的。因此,例如,当用户手动将 url 从更改url.com?status=404
为url.com?status=error
过滤器时,将被跳过,因为它不再有效。
我的问题是,当规则失败时,验证器将重定向回最后一个 URL,但我想允许请求通过,无论它们是否有效,我只想$request->validated()
稍后使用该数组。
protected function failedValidation
我尝试通过不在那里抛出错误来覆盖并避免重定向,但请求仍然在无效输入上重定向。任何想法如何让请求通过,或者您会选择不同的方法从给定的查询字符串中提取有效参数吗?
解决方案
推荐阅读
- tensorflow - 有没有办法在训练期间强制执行 ANN 的权重和偏差之间的特定关系?
- laravel - Laravel eloquent hasManyThrough 模型访问
- visual-studio - 在 platformio-ide-terminal 中构建 CUDA
- css - 将顶部设置为自动时触发 CSS 过渡
- excel - 反向查找(从右到左,FINDrev)函数 Excel UDF
- javascript - 如何使用 web-animations-js 为 div 高度设置动画?
- android - 未找到参数 #1 的改造注释
- php - 在教义 addSelect() 函数中如何正确使用 sql JOIN 和 ON 语句
- c# - 如何为不同的环境配置 Application Insights?
- java - 从通知导航到活动时丢失活动状态