我使用的是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_name
、middle_name
和last_name
,则可以使用$request->validated()
、$request->input()
或$request->all()
;它们都将是一样的。