如何验证 Laravel 中的数组
How to Validate an array in Laravel
我正在尝试应用此问题中提供的建议
所以我的验证是
'topics' => 'required|array'
Topics are required
这很有效,尤其是当主题是一个大于 1 的数组时
不幸的是我传递 []
一个空数组验证失败
如何验证输入是一个数组,它不是 null 并且允许空数组?
以下尝试失败
'topics' => 'required|array|min:0',
Topics are required
下面的工作,问题是甚至允许空值
'topics' => 'array',
验证基于数组的表单输入字段并不一定很痛苦。您可以使用“点符号”来验证数组中的属性。例如,如果传入的 HTTP 请求包含一个 photos[profile]
字段,您可以像这样验证它:
use Illuminate\Support\Facades\Validator;
$validator = Validator::make($request->all(), [
'photos.profile' => 'required|image',
]);
您还可以验证数组的每个元素。例如,要验证给定数组输入字段中的每封电子邮件都是唯一的,您可以执行以下操作:
$validator = Validator::make($request->all(), [
'person.*.email' => 'email|unique:users',
'person.*.first_name' => 'required_with:person.*.last_name',
]);
在您的情况下,如果您想验证数组中的元素不为空,则以下内容就足够了:
'topics' => 'required|array',
'topics.*' => 'sometimes|integer', // <- for example.
你可以使用present验证
验证字段必须存在于输入数据中,但可以为空。
'topics' => 'present|array'
我正在尝试应用此问题中提供的建议
所以我的验证是
'topics' => 'required|array'
Topics are required
这很有效,尤其是当主题是一个大于 1 的数组时
不幸的是我传递 []
一个空数组验证失败
如何验证输入是一个数组,它不是 null 并且允许空数组?
以下尝试失败
'topics' => 'required|array|min:0',
Topics are required
下面的工作,问题是甚至允许空值
'topics' => 'array',
验证基于数组的表单输入字段并不一定很痛苦。您可以使用“点符号”来验证数组中的属性。例如,如果传入的 HTTP 请求包含一个 photos[profile]
字段,您可以像这样验证它:
use Illuminate\Support\Facades\Validator;
$validator = Validator::make($request->all(), [
'photos.profile' => 'required|image',
]);
您还可以验证数组的每个元素。例如,要验证给定数组输入字段中的每封电子邮件都是唯一的,您可以执行以下操作:
$validator = Validator::make($request->all(), [
'person.*.email' => 'email|unique:users',
'person.*.first_name' => 'required_with:person.*.last_name',
]);
在您的情况下,如果您想验证数组中的元素不为空,则以下内容就足够了:
'topics' => 'required|array',
'topics.*' => 'sometimes|integer', // <- for example.
你可以使用present验证
验证字段必须存在于输入数据中,但可以为空。
'topics' => 'present|array'