如何解决如何在 Laravel 中验证数组
我正在尝试应用此问题中提供的建议 How to validate array in Laravel?
所以我的验证是
'topics' => 'required|array'
主题是必需的
这很有效,特别是如果主题是大于 1 的数组
不幸的是我传递了 []
一个空数组,但验证失败
如何验证输入是一个数组,它不是空数组,并且允许空数组?
以下尝试失败
'topics' => 'required|array|min:0',
主题是必需的
下面的作品,问题是甚至允许空值
'topics' => 'array',
解决方法
您可以使用 present 验证
验证字段必须存在于输入数据中,但可以为空。
'topics' => 'present|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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。