如何在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 form with input name="name[]"
推荐答案
星号(*)表示您要检查数组中的值,而不是实际数组中的值.
Asterisk symbol (*) means that you want to check VALUES in the array, not the actual array.
$validator = Validator::make($request->all(), [
"name" => "required|array|min:3",
"name.*" => "required|string|distinct|min:3",
]);
在上面的示例中:
- 名称"必须是至少包含3个元素的数组.
- 名称"数组中的值必须是不同的(唯一)字符串,至少3个字符长.
编辑:从Laravel 5.5开始,您可以像这样直接在Request对象上调用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屋!
查看全文