首页 > 解决方案 > 有时需要验证多个上传背包字段

问题描述

我正在为 Laravel 使用 Backpack,并且正在实施upload_multiple Field

我正在尝试将此字段验证为sometimes,仅required当没有任何项目时:

调试发布请求,假设字段名称photos[]始终具有第一项null

[
    "photos" => [
        0 => null
    ]
]

所以当我验证使用sometimes|required

"photos" => "between:1,4",
"photos.*" => "sometimes|required|mimes:png,jpeg,jpg|max:2048"

如果选择了一个项目,它将继续并上传它们。现在,当我尝试在不选择任何项目的情况下提交表单(通过知道之前上传了现有项目)时,它显示required field error message.

因为photos数组总是有第一项,就像我上面提到null的那样没有选择。

解决这个问题的方法是提供nullable验证规则:

"photos.*" => "sometimes|nullable|..."

但是nullable设置为规则,required规则永远不会起作用。

也许主要问题是因为photos[]总是让第一个项目null好像没有被选中。

并且它应该始终关心验证中现有的已上传项目,查看是否已上传现有项目然后不显示所需的错误消息,如果没有并且提交请求为空photos则显示所需的错误。

我怎样才能做到这一点?

标签: laravellaravel-backpack

解决方案


推荐阅读