阅读(2596) (12)

Laravel 8 验证数组

2021-06-28 15:05:09 更新

验证表单的输入为数组的字段也不再难了。 你可以使用「点」方法来验证数组中的属性。例如, 如果传入的 HTTP 请求中包含 photos[profile] 字段,可以如下验证:

$validator = Validator::make($request->all(), [
    'photos.profile' => 'required|image',
]);

我们还可以验证数组的每个元素。 例如,要验证给定数组输入中每个 email 是否是唯一的,可以这么做:

$validator = Validator::make($request->all(), [
    'person.*.email' => 'email|unique:users',
    'person.*.first_name' => 'required_with:person.*.last_name',
]); 

类似地,在语言文件中你也可以使用 * 字符指定验证消息,从而可以使用单个验证消息定义基于数组字段的验证规则:

'custom' => [
    'person.*.email' => [
        'unique' => 'Each person must have a unique e-mail address',
    ]
],