laravel - 有时需要验证多个上传背包字段
问题描述
我正在为 Laravel 使用 Backpack,并且正在实施upload_multiple
Field
我正在尝试将此字段验证为sometimes
,仅required
当没有任何项目时:
- 如果有选择要上传的项目,则继续。
- 如果没有选择,并且有现有项目,请继续。
- 但是,如果没有任何选定的项目并且之前没有任何内容,则显示
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
则显示所需的错误。
我怎样才能做到这一点?
解决方案
推荐阅读
- amazon-web-services - 是否有适用于 AWS 数据管道的 Azure 集成运行时的等效项?
- javascript - 如何将删除按钮列附加到每个表行
- teamcity - 无论如何要同时更改多个工作目录?
- dataframe - 在 Julia 中检查 Dataframe 多列中的元素
- python - 我无法运行这个 .py 文件。收到很多错误。无法弄清楚发生了什么
- javascript - 错误:未捕获(承诺):无效链接:ProductListComponent
- module - ODOO HR 申请人看板视图创建具有特定工作的阶段列
- excel - 如果当前循环中不存在文件,则继续下一个循环
- ajax - 无法使用 ajax、json、Boostrap、MVC 填充下拉列表
- mysql - MYSQL 带子查询的全文搜索