Laravel Validator从数组中删除空字段

时间:2018-04-16 16:01:44

标签: php laravel laravel-5

我正在编写一个测试用例来模拟产品的创建。在创建产品时,我传递的是一系列格式,由于某些原因,在使用控制器进行验证时,数据中缺少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数组中删除吗?

0 个答案:

没有答案