可选参数应当如何验证

控制器里的方法public function create在创建文章时,其中一个post过来的值是一个可选参数

            $request->validate([
                    'topic' => 'required|exists:article_topics,id',
                    'type' => 'required|exists:article_types,id',
                    'title' => 'required|min:2',
                    'content' => 'required|min:10',
                ],[
                    'topic.*' => __('lang_Common.Enter Topic'),
                    'type.*' => __('lang_Common.Enter Type'),
                    'title.*' => __('lang_Common.Enter Title'),
                    'content.*' => __('lang_Common.Enter Content'),
                ]
            );

其中的

'type' => 'required|exists:article_types,id',

当存在这个字段时是必填,不存在不填。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12
'type' => 'nullable|exists:article_types,id',
2年前 评论
ISeee (楼主) 2年前
王小大 (作者) 2年前

如果单单是可传 可不传的参数 直接去掉“required”就可以了,如果是有条件传参,参考required_if

2年前 评论
ISeee (楼主) 2年前
随波逐流

filled

2年前 评论

试试 sometimes替换掉required

2年前 评论

有个验证规则是 required_with 当某个字段存在时另一个字段必填,可以看下文档

2年前 评论
ISeee (楼主) 2年前
风吹过有夏天的味道 (作者) 2年前
ISeee (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!