laravel - Laravel 禁用或启用准备输入以进行验证
问题描述
我们如何禁用或启用prepareForValidation
?
如果我有
public function A(TasksRequest $request) <-- no need prepareForValidation in TasksRequest ( disable )
public function B(TasksRequest $request) <-- need prepareForValidation in TasksRequest ( enable )
解决方案
请求您的第一次互动,这是目的。因此,如果您不想使用验证,请将 TasksRequest 更改为 Request。
因评论而更新
prepareFolValidation 是 Requests 中使用的方法。因此,如果您的 prepareForValidation 对于不同的请求是可选的,请在 $request 中发送密钥,然后在 prepareForValidation 方法中进行检查。或者(推荐)使用不同的请求
更新第二条评论
protected function prepareForValidation()
{
if(!request('disabled'))
{
$this->merge([
'slug' => Str::slug($this->slug),
]);
}
}
推荐阅读
- excel - Excel:如果分数是在去年输入的,则仅计算平均分数 (DATEDIF/AVERAGEIF)
- shell - 在 tmux 窗格状态行中显示当前环境变量
- python - 从烧瓶运行python脚本
- python - 如何将新创建的 Excel 工作表引用(来自 win32com 库)传递给 xlsxwriter,以便我可以用它来绘制数据?
- rust - 函数指针的生命周期是 for<'a, '_> 而它应该是 for<'r>
- python - 使用 PuLP 的整数线性规划问题
- c - 查找包含搜索词的所有文件(子元素除外)
- express - 部署后调用api路由时出现404错误
- oop - 依赖倒置原理应用
- reactjs - 如何将许可证文件放入已部署的反应项目中?