为什么我们在使用表单请求时检索已验证的输入数据



我使用的是Laravel 8,在Laravel文档中,我看到了这行代码,用于检索经过验证的输入数据,然后使用表单请求。

// Retrieve the validated input data...
$validated = $request->validated();

但如果我越过这条线,一切都会好起来的!那么,这次检索的原因是什么?

->validated()方法从实际经过验证的请求中返回信息。让我们使用一个快速场景:

dd($request->input());
// ['name' => 'John', 'middle_name' => 'Smith', 'last_name' => 'Doe']

如果你有以下规则:

$rules = ['name' => 'required', 'last_name' => 'required'];

然后,在运行验证后,调用->validated()将返回以下内容:

dd($request->validated());
// ['first_name' => 'John', 'last_name' => 'Doe']

注意到middle_name是如何丢失的吗?它没有包含在验证规则中,因此被删除。

您可以在这里阅读完整的文档:

https://laravel.com/docs/8.x/validation#working-具有经验证的输入

注意:如果您正在验证$request中的所有内容,即first_namemiddle_namelast_name,则可以使用$request->validated()$request->input()$request->all();它们都将是一样的。

最新更新