我正在编写一个测试用例来模拟产品的创建。在创建产品时,我传递的是一系列格式,由于某些原因,在使用控制器进行验证时,数据中缺少thumbnail
键。
这是我发送的数据:
"formats" => array:1 [
0 => array:3 [
"upc" => "584979099857"
"vcode" => "VX43V14FN910479274209"
"thumbnail" => null
]
]
我在测试用例中将其发送如下:
$response = $this->post(route('products.store'), $product);
出于某些原因,在发送请求时,thumbnail => null
将从格式属性中消失。
因此,在验证请求时,我总是会收到缩略图必须存在的错误。
request()->validate([
'formats' => 'bail|required|array',
'formats.*.upc' => 'bail|required|string|max:255',
'formats.*.vcode' => 'bail|required|string|max:255',
'formats.*.thumbnail' => 'bail|present|image'
]);
我也尝试将缩略图的规则更改为:
bail|required|nullable|image
或者
bail|nullable|required|image
但后来我得到了所需的错误。
有人知道为什么thumbnail
密钥会在发送请求时从formats
数组中删除吗?