我尝试在Laravel中验证数组POST:
$validator = Validator::make($request->all(), [
"name.*" => 'required|distinct|min:3',
"amount.*" => 'required|integer|min:1',
"description.*" => "required|string"
]);
我发送空POST并将此 if ($validator->fails()) {}
作为 False
. 这意味着验证是正确的,但事实并非如此 .
如何在Laravel中验证数组?当我用 input name="name[]"
提交表格时
4 回答
星号(*)表示您要检查数组中的VALUES,而不是实际的数组 .
在上面的例子中:
"Name"必须是包含至少3个元素的数组 .
"name"数组中的值必须是不同的(唯一)字符串,长度至少为3个字符 .
EDIT: 从Laravel 5.5开始,您可以直接在Request对象上调用validate()方法,如下所示:
我有这个数组作为我的HTML Vue.js数据网格/表中的请求数据:
并使用它来验证哪些工作正常:
编写验证和授权逻辑的推荐方法是将该逻辑放在单独的请求类中 . 这样您的控制器代码将保持清洁 .
你可以通过执行
php artisan make:request SomeRequest
来创建一个请求类在Request类的rules()方法中定义验证规则
在你的控制器中写这样的路由功能
您必须循环输入数组并为每个输入添加规则,如下所述:Loop Over Rules
这是你的一些代码: