首页 > 解决方案 > Laravel 禁用或启用准备输入以进行验证

问题描述

我们如何禁用或启用prepareForValidation

如果我有

public function A(TasksRequest $request) <-- no need prepareForValidation in TasksRequest ( disable )

public function B(TasksRequest $request) <-- need prepareForValidation in TasksRequest ( enable )

标签: laravellaravel-6laravel-7

解决方案


请求您的第一次互动,这是目的。因此,如果您不想使用验证,请将 TasksRequest 更改为 Request。

因评论而更新

prepareFolValidation 是 Requests 中使用的方法。因此,如果您的 prepareForValidation 对于不同的请求是可选的,请在 $request 中发送密钥,然后在 prepareForValidation 方法中进行检查。或者(推荐)使用不同的请求

更新第二条评论

protected function prepareForValidation()
{
    if(!request('disabled'))
    {
        $this->merge([
            'slug' => Str::slug($this->slug),
        ]);
    }
}

推荐阅读