如何解决有时需要验证多个上传背包字段
我正在使用 Backpack for Laravel 并且我正在实施 upload_multiple
Field
我正在尝试将此字段验证为 sometimes
,如果没有任何项目,则仅验证 required
:
- 如果选择了要上传的项目,则继续。
- 如果没有任何选择,并且存在现有项目,也请继续。
- 但如果没有任何选定的项目并且之前不存在任何内容,则显示
required
字段错误消息。
调试 post 请求,假设字段名称是 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
则显示必需的错误。
我怎样才能做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。