如何在 Laravel 中验证数组? [英] How to validate array in Laravel?
本文介绍了如何在 Laravel 中验证数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试在 Laravel 中验证数组 POST:
I try to validate array POST in Laravel:
$validator = Validator::make($request->all(), [
"name.*" => 'required|distinct|min:3',
"amount.*" => 'required|integer|min:1',
"description.*" => "required|string"
]);
我发送空的 POST 并得到这个 if ($validator->fails()) {}
作为 False
.这意味着验证是真的,但事实并非如此.
I send empty POST and get this if ($validator->fails()) {}
as False
. It means that validation is true, but it is not.
如何在 Laravel 中验证数组?当我使用 input name="name[]"
How to validate array in Laravel? When I submit a form with input name="name[]"
推荐答案
星号 (*) 用于检查数组中的值,而不是数组本身.
Asterisk symbol (*) is used to check values in the array, not the array itself.
$validator = Validator::make($request->all(), [
"names" => "required|array|min:3",
"names.*" => "required|string|distinct|min:3",
]);
在上面的例子中:
- "names" 必须是至少包含 3 个元素的数组, names"数组中的
- 值必须是不同(唯一)的字符串,长度至少为 3 个字符.
从 Laravel 5.5 开始,您可以像这样直接在请求对象上调用 validate() 方法:
Since Laravel 5.5 you can call validate() method directly on Request object like so:
$data = $request->validate([
"name" => "required|array|min:3",
"name.*" => "required|string|distinct|min:3",
]);
这篇关于如何在 Laravel 中验证数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文