如何在laravel中应用规则来检查文件名是否唯一?
在laravel 8中,如何使用验证来检查数组中提供的文件名是否唯一如何在laravel中应用规则来检查文件名是否唯一?,laravel,Laravel,在laravel 8中,如何使用验证来检查数组中提供的文件名是否唯一 ` "main": [ { "content": "ABC", "filename": "recording_1", "code": "264", "parameter
` "main": [
{
"content": "ABC",
"filename": "recording_1",
"code": "264",
"parameters": ""
},
{
"content": "XYZ",
"filename": "recording_2",
"code": "264",
"parameters": ""
}
...more to come
]`
上面是请求结构。根据该请求,我必须检查所有文件名是否唯一
如何实现这一点?您可以使用
distinct
$validator = Validator::make(
[
'main' =>
[
[
"content" => "ABC",
"filename" => "recording_1",
"code" => "264",
"parameters" => ""
],
[
"content" => "XYZ",
"filename" => "recording_1",
"code" => "264",
"parameters" => ""
]
]
],
['main.*.filename' => 'distinct']
);
那你可以查一下
if($validator->fails()){
echo "<pre>";
print_r($validator->errors());
exit();
}
Ref:在请求中是唯一的还是在数据库中是唯一的?在请求中是唯一的。仅供参考,您可以使用,而不是
和print\r()
东西。是的,我知道,但是如果我使用dd或dump,在statkc中格式化有点困难。为此,我使用了print\r
Illuminate\Support\MessageBag Object
(
[messages:protected] => Array
(
[main.0.filename] => Array
(
[0] => The main.0.filename field has a duplicate value.
)
[main.1.filename] => Array
(
[0] => The main.1.filename field has a duplicate value.
)
)
[format:protected] => :message
)