Laravel 5.5 从验证器返回请求数据
发布时间 作者 Eric L. Barnes
即将推出的 Laravel 5.5 的新功能是,验证现在将返回请求数据,这样您就可以获得所需的一切。
Joseph Silber 在 Twitter 上发布了一个很棒的示例
???? 验证之后,您自然会想要获取请求数据。因此在 @laravelphp 5.5 中,
validate
将返回验证后的数据。❤️ 它! pic.twitter.com/zC8neWWfpf
— Joseph Silber (@joseph_silber) 2017 年 5 月 4 日
以下是可直接复制粘贴的版本
public function store(){ $data = $this->validate(request(), [ 'name' => 'required', 'price' => 'required|numeric', 'category_id' => 'numeric|exists:categories', ]); // $data = request()->only('name', 'price', 'category_id'); return Product::create($data);}
由于这将返回 request()->only()
,您需要确保在验证中定义所有字段,即使它们不是必需的。您可以通过添加带有空规则的字段来实现这一点,例如
$data = $this->validate(request(), [ 'name' => 'required', 'price' => 'required|numeric', 'notRequiredField' => '',]);
这样,该字段将自动添加到允许的请求数据中,但不会受到任何验证规则的限制。